OS X fixes
Merge pull request #10 from DeVaukz/develop

OS X fixes
Fix the type of delta to use nanoseconds.
Also move the simulation stepping to HandleEvents() since most batches
must wait the simulation to be completed, and the simulation waits
nothing to step forward.
Wrap physics and graphic systems in a meta system
The 2 systems use the same thread.
Properly deactivate FakeSystem
Fix travis-ci build for previous commits
Add functions to AtomicMap
Broadcast a list of updated transforms instead of single notifications
The Transform event system is replaced with a publisher/subscriber model
using futures. A list is published in every frame. Subscriber must get a
future from the publisher to get the list when ready. The frame timing
of the subscriber and the publisher must match.
The list is available until the next frame.
Remove Transform subscription in graphics
Fix race condition and constness of AsyncData
Publish a pointer on data instead of making multiple copies
Sound system now uses transform list publication
Make ahead calls to future provider block until the right frame

This will naturally synchronize the threads on the same frame.

Late calls return an invalid future meaning that the thread is behind
(and should speed up to resynchronize)
Fix thread blocked in async-data during termination
Add rotation forces for the camera
SetForce() and SetTorque() are now thread-safe
It's because Network controller is multithreaded and will call them.
Remove spurious wake-up check since the specification guarantees that it
is not vulnerable.
Publish the forces and torques at the beginning of the frame
Template default values name can't be used as template type

Visual Studio complains when using the default name as a parameter type.
Just changing the type to be the template name instead works.

Also added trillek.hpp to a few files that referenced id_t.
Merge pull request #2 from adam4813/feature-async-data-provider

Template default values name can't be used as template type