A storage service prototype based on MongoDB

This is an initial prototype for a storage back-end using MongoDB.  This would provide a way to fill in those key-based methods that are currently unimplemented, and provide a more straightforward view into the data.  The schema is pretty simple.  Every record in the database will look like this:

```
{
  'simulationId' : 'simulation-uuid',
  'instanceId' : 'instance-uuid',
  'iteration' : 0,
  'keys' : 
  {
    'key1' : 'value1',
    'key2' : 'value2',
    ...
  }
}
```

It's still a bit rough around the edges.  It's mostly an exploratory prototype into how MongoDB works.

And I wanted to see how these pull requests work.
Can you rework this be like this:

try {
  this.service.getState("simulation2", "instance1", 0);
  fail("Expected exception was not thrown");
} catch(IOException ex) {
  // Expected.
}