First attempt at error handling.
Merge branch 'master' of github.com:gnieh/sohva into feature/error_handling
Added consistent error handling to futures.

This patch uses the withFalureMessage method to handle exceptions in futures so that the stack trace is routed towards the logical control flow that the user sees rather than getting lost in a nameless thread queue somewhere.
Updated scalatest to 2.1.6.

Statring to work through failing test cases.
Removed some deprecated uses of ShouldMatchers.
Merge branch 'master' into feature/error_handling
Now checking for the right wrapped exception in one of the TestSecurity cases.
We are now performing the correct test to see if an unsubscribed callback is getting invoked. It is :( The `time going backwards' failure will go away once we bump scalatest by one release.
Merge pull request #27 from drdozer/feature/error_handling

Feature/error handling
Add accessor to serializer for a database

This serializer may be used by any extension of sohva or client code
that wishes to serialize the same way sohva does.
Add contribution guidelines and contributor list
Add entity management

This allows client applications to use sohva as store for
entity/component system. It allows for quite flexible way of
representing data that may dynamically gain or lose roles.
The entity manager is responsible for creating and managing entities and
exposes an abstraction over the way it is actually stored.
Add basic test case