data/lib: add mongo_drop and mongo_index as separate APIs

We do this split because we want to separate the two steps. We want the
separation because imports go faster on an unindexed collection, and we
can add the index afterwards.
import/buses: simplify basepath

No need to keep repeating 'buses' in the path. Set it once and be done.
import/buses: use pymongo bulk insert

We were needlessly using upsert, which was not only slow but possibly
incorrect, as mongodb's 2dsphere index has too coarse a resolution to
really make sense to be used as a unique constraint.

cf, http://stackoverflow.com/q/17829641/
import/buses: terser initialization of loc dict
import/trains: DRY for basepath
import/trains: terser initializations for station and loc dicts
import/trains: use bulk insert, do not upsert

See earlier commits as to why no longer necessary.
import/bikes: DRY for basepath
import/bikes: terse init for station/loc dicts
import/bikes: do not upsert, use bulk insert instead
import/metros: DRY basepath
data/metros: terse inits for station/loc dicts
import/metros: do not upsert, use bulk insert instead
data/import: proper basepath for much speed

With this final change of using bulk inserts instead of upserts...

And note this is not an apples to apples comparison because in new,
we are able to insert an additional 400K bus stops that weren't even
possible using the old way.

Old:
    real    5m26.703s
    user    0m24.153s
    sys 0m22.475s

New:
    real    0m19.460s
    user    0m16.265s
    sys 0m0.815s