state: introduce automatic multi-environment filtering

For collections that contain data for multiple environments, getCollection now returns a wrapped collection that automatically filters by environment UUID as required. This reduces  the risk of unintended data leakage between environments.

There are some areas where an actual mgo.Collection is required. These now use the new State.getRawCollection method.

Now that this is handled automatically, this change also removes several TODOs regarding filtering by environment UUID.

A later branch will remove all the now-unnecessary docID calls that currently exist in state.

(Review request: http://reviews.vapour.ws/r/551/)