Changes between 160112 and 160908 releases

	NOTE:  The 160908 release is a maintenance release for the 160112 single
	interface labs release - not a release of the current development branch.

	+ ff-deltree() now correctly handles deleted file entries.
	+ Simplified mapping of standard library functions to their Visual Studio
	  equivalents.
	+ ffconfigMIN_CLUSTERS_FAT32 and ffconfigMIN_CLUSTERS_FAT16 introduced to
	  allow the minimum disk sizes for the two FAT file system types to be
	  smaller than is permitted by Windows.

Changes between 150825 and 160111 releases

	+ New device support:  Demo applications and example drivers are provided
	  for Atmel SAM4E and ST STM32F4 microcontrollers.
	+ Various updates to improve compliance with the FreeRTOS coding standard.
	+ Modified the stdio tests so they can be executed on SD cards, where the
	  test files might already exists on power on - previously the tests were
	  only executed on RAM disks which are always known to be empty on power on.
	+ Added ff_deltree() implementation, with note of caution about its use as
	  it uses recursion ( ff_deltree() recursively removes a directory and
	  everything contained by it).
	+ Update the Zynq project to use version 2015.4 of the Xilinx SDK. This
	  driver dynamically recognises all types of memory cards.
	+ The path cache is cleared when a disk is re-mounted, allowing a disk to be
	  hot swapped.

	Bug fixes resulting from testing performed while converting the acquired
	component to be FreeRTOS+ compliant:

	+ Fix bug in FF_FindNext() when using 'ffconfigFINDAPI_ALLOW_WILDCARDS'.
	+ Fix bug in ff_fat.c when using 'ffconfigFSINFO_TRUSTED' and when the
	  stored free cluster count equals ~0ul (which means: not filled in) as this
	  was interpreted as having 4294967295 free clusters.
	+ FF_Open() now checks file permissions before truncating a file, previously
	  the file was truncated first.
	+ Fix typo in source of FF_isEOF().
	+ FF_ExtendFile() now only attempts to reserve new clusters if it is
	  actually necessary.
	+ FF_Format() now correctly fills in the number of free clusters for FAT32.
	+ FF_Partition() has been updated to use ffconfigMAX_PARTITIONS in all
	  cases, whereas previously some legacy code was assuming a fixed maximum
	  number of partitions.
	+ FF_DeleteIOManager() now deletes the IO manager!


Changes for 150825 (?)

	+ Issue fixed in FF_Move().
	+ Improved handling of files and directories that start with a '.' character.
	+ Changed the locking mechanisms from mutexes to an event group.
	+ Add FF_ERR_DRIVER_NOMEDIUM to better handle media being removed and
	  re-inserted.
	+ Fix re-entrancy issue in FF_CheckValid().
	+ Remove hashes for deleted files.
	+ General structural work.

