DMU API: Removed obsolete element property identifiers

The property identifiers DMU_FRONT_SECTOR and DMU_BACK_SECTOR are
now obsolete as these properties can now always be addressed using
the relative accessor flags DMU_FRONT_OF_LINE, DMU_BACK_OF_LINE.

DMU_FRONT_SECTOR and DMU_BACK_SECTOR have been moved to dmu_lib.h
and are now implemented as short-hand aliases.
Cleanup
DMU API: Renamed DMU_BASE; removed DMU_LINE_COUNT, DMU_HEDGE_COUNT

DMU_EMITTER is a better name for this property as it references the
sub-component of the relevant map element used for emitting sounds.

The presently unused DMU_LINE_COUNT and DMU_HEDGE_COUNT property
identifiers were removed as these set the wrong precedent for how
the linked objects of a map element should be enumerated.

If in future we have call to enumerate the linked objects of some
map element, this functionality should be implemented as a runtime
query (e.g., numlines = P_Countp(sectorPtr, DMU_LINE)).
libcommon: Updated DMU lib terminology wrt changes to the DMU API
Updated api_map.h terminology wrt changes to the DMU API
libdeng2: Added FlagOp enum (operation on a set of flags)
Refactor|libdeng2: Added/applied de::applyFlagOperation template
Refactor: Applied de::FlagOp enum and de::applyFlagOperation template
libdeng2: Added FIFO, Waitable::reset()

WaitableFIFO automatically updates the Waitable semaphore as the
FIFO is used.
Documentation|libdeng2|Widget: Fixed an apidoc issue
libdeng2: Made PathTree Lockable and documented thread-safety
libdeng2: Cleanup
libdeng2|FileSystem: Improving basic thread-safety

The methods of File and Folder automatically lock the object. FileSystem
uses locking internally to protect access to the file indices.
libdeng2: Added Bank, an abstract data bank with tiered caching

Note: Preliminary implementation, lacks certain functionality like
purging data from the cache. The source file should also be split,
it is quite long.
libgui: Added ImageBank, a Bank containing Images

ImageBank serves two purposes: maps logical identifiers (represented
as Paths) to actual files in the file system, and caches the raw pixel
data in memory when needed.
Tests|glsandbox: Testing ImageBank

ImageBank allows loading image data in the background while the rest
of the system is running. Testing synchronous and asynchronous access
methods.
Renderer: Never use fog when drawing 3D player sprites

The player sprites are disjoint from the rest of the world in that
they use their own coordinate space that allows them to not Z-collide
into world surfaces. This means world fog is not applicable, as the
psprite Z distance has a different meaning than the world Z distance.
Merge branch 'master' of ssh://github.com/skyjake/Doomsday-Engine
Merge branch 'master' into ui-framework
Refactor|libdeng2: Added concurrency source module, ReadWriteLockable

Moved Guard, Lockable and Waitable into their own module called
"concurrency". Added ReadWriteLockable and support for it in Guard.