fixes #684 Add support for a user-defined primary key.
make new sharded collections use a primaryKey #740

Added a check for a nonexistent collection during shardCollection, and if
the collection doesn't exist yet, use the primaryKey feature of create to
make a primaryKey that contains the shard key.  This makes it so we can
have a clustering index on the shard key without paying twice for space.

closes #740