Make changes to the Mongo modulestore format for asset metadata.

Move the asset types under a top-level 'assets' dict to allow for future arbitrary asset types.
Change 'basename' to 'pathname', since the attr is for storing the path.

The changes therein modify the stored Mongo format of asset metadata - and therefore will impact the mobile team. I've split off this PR in order to ensure this PR gets merged in before a pending mobile PR gets merged which starts using the modulestore-stored asset metadata in production.

The original implementation of Mongo modulestore asset metadata did *not* namespace all asset types into a separate embedded field (the Split implementation *did* do this). Changing Mongo to work this way enables arbitrary asset types to be added safely.
So we are no longer hard-coding the various ASSET_TYPEs right?  Is this constant still needed?