Added SemaphoreLock

The SemaphoreLock allows for easy cross-thread async-safe locking. Also
added a few automated tests for it.

Since SemaphoreSlim is not available for all platforms, the library's
platform support was narrowed to .NET 4.5 and WinRT. Too bad, but good
enough.
Fixed invalid NuGet platform list

Forgot to remove obsolete platforms with previous update.