SERVER-8486 prevent empty dbnames in command params from crashing auth'd mongod

The crux of the issue is that we don't do command param checking until after
we've set up auth, but for certain commands we need their params to set up auth.
 This might be fixed/avoided if we had a more formalized structure for
sanitizing input to commands.
fill in assert code
SERVER-7452 tests and SERVER-7907 fix typo and tests

Signed-off-by: Ian Whalen <ian.whalen@gmail.com>
SERVER-8457 explode arrays in 2dsphere
fix incorrect maxDistance if maxDistance specified before the geometry and it's in radians
alias geoNear/near, geoWithin/within.
iteration
SERVER-8540 Only dbAdmin should be able to read system.profile
SERVER-8540 Add test that non-dbAdmins can't read system.profile