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.