Complete issue #125 - Port Context implementation

- Add IContext interface which is equivalent to Java Context interface.

- Manager object now accepts an IContext object instead of a directory
path for storing the database.

- Add DefaultContext which is a default implementation of the IContext
interface. The current implementation of the DefaultContext doesn’t
return a NetworkReachabilityManager object as the
NetworkReachbilityManager will be vary by different platforms.

- Add LiteTestContext for unit testing.