Ensure _timestamp index on all collections

The majority of the operations done on our collections revolve around
_timestamp so it would make sense to index on this field. This is
especially useful for working out which data sets are out of date as we
always want the latest piece of data by _timestamp.
Migrate mocked batch test to integration test

In order to fully test whether batching last update works it should
really test against mongo.

There is some pretty weird looking comparison due to there being a few
100 microsecond deviation between the time I wrote into mongo and the
time that was extracted out. I've copied and pasted a failed run with
direct comparison below:

```
FAIL:
tests.core.storage.test_mongo.TestMongoStorageEngine.test_batch_last_updated
----------------------------------------------------------------------
Traceback (most recent call last):
  File
"/var/apps/backdrop/venv/local/lib/python2.7/site-packages/nose/case.py",
line 197, in runTest
    self.test(*self.arg)
  File "/var/apps/backdrop/tests/core/storage/test_mongo.py", line 47,
in test_batch_last_updated
    assert_that(data_set.get_last_updated(), is_(timestamp))
AssertionError:
Expected: <2014-11-19 10:16:24.772844+00:00>
     but: was <2014-11-19 10:16:24.772000+00:00>
```

I would hypothesis that this is down to the difference between the
underlying representation used to store the datetimes, but I haven't had
the time to look deeply into it.