Added initial implementation of GstFileMemAllocator.

The idea is to get memory blocks mapped to chunks of a file (mmap() on
*nix). This way it's up to the OS to page them out and in when needed.

This is particularily useful on systems where physical memory is
scarce while the addrress space is still available.
Added initial test for GstFileMemAllocator

For good start there's one basic test to get it complied and run.

Modified symbol list file for Windows as the build system complains
about missing symbols (added along with the new GstFileMemAllocator
class). Essentially there's no support for Win but this will be sorted
out later.
Added proper support for gst_memory_is_span()

Adapted two tests from gstmemory test suite:
- test_submemory
- test_is_span

Fixed a bug around adjucting next available offest in the file.

Corrected indentation.
Added more tests and missing debug category initialization.
Corrected copyright notes
Mapping memory as MAP_SHARED

Apparently in order to preserve data changes between map/unmap one need
to map memory as shared so the data ends up in the file.
Added temp-template property

The temporary file name itself does not actually matter but clients using
the allocator may wish to select specific storage (partition) where the
temporary file should be created.

Also for consistency "file-size" property is readable. There's no point in
doing the same for "temp-template" property as the file name is deleted
from the file system immediately so it's useless to read it.
Allocating/deallocating disk space if supported

Currently the allocator doesn't reclaim deallocated file block to make it
reusable. This is for simplicity at this stage.

Give the simplicity described above, at least it's nice to reclaim the
actual disk space when freeing a memory block (if supported). This also
means that the allocation should guarantee that the disk space is available
if in the future implementation memory blocks are reusable.

If manipulating disk space is not supported then potential disk space
scarcity is left for mmap() to fail.

Replaced mkstemp() and unlink() with their g_* equivalents for portability.
Fixed a memory leak problem

https://github.com/kkonopko/gstreamer/issues/1

munmap() was not actually freeing the mapped region.
According to the documentation it does nothing if the given address does
not fall into any mapped regions. As the data pointer in the GstFileMemory
structure was not updated after allocating a memory region, munmap() was
effectively a noop.
Specified a well known name for the file memory allocator

The name is defined as "FileMemory" and available in the header file with
a GST_ALLOCATOR_FILEMEM macro.

Added some basic doc description for the allocator in gstfilememallocator.c

Removed file memory allocator test script (slipped in one of the initial
commits). It should be ignored.
Updated GstFileMemAllocator appearance in the documentation

GstFileMemAllocator appears now in the GStreamer core documentation.

Added some minimal handling of unsupported platforms (where mmap() and
friends are not available. An attempt to initialize the allocator on
unsupported platform will result in runtime error.

Also a warning is issued if the allocator is initialized more than once.
filememallocator: Proper use of HAVE_DECL_* and debug category improvement

Apparently HAVE_DECL_* macros are always defined, either to 0 or 1 so the
conditional preprocessor expression needs to evaluate its value rather than
existance of the definition.

Improved file memory allocator debug category name (removed spaces and made
it more conventional).

Fixed a typo in the documentation example code.
fma: Fixed "unused variable" error when fallocate() is not available