Added test and mongo gateway class.
Merge branch 'develop' into feature/mongo-gateway
Added Mongo gateway and tests.
Updated other classes and tests to match the improvements made with the Mongo gateway.
Merge branch 'feature/mongo-gateway' into develop