Improved synchronization primitive support.

All synchronization primitives are now in vibe.core.sync. TaskCondition is newly implemented and Mutex was renamed to TaskMutex.

Both, TaskMutex and TaskCondition, derive from the core.sync types to be compatible with synchronized() blocks and other synchronization code.
Fixed parsing of version ranges in the deprecated VPM.