clean up server version checks in tests

Converts SKIP blocks to subtests.  Also simplifies some database commands
affected by removing a variable declaration in the new version check
code.
check that aggregation cursor throws error if server is before 2.5
remove use of Test::Exception in favor of Test::Fatal
PERL-376 Reorder Moose/MongoDB module loading

This fixes compilation errors loading MongoDB::MongoClient directly
instead of loading MongoDB (which then loads MongoDB::MongoClient).

It also ensures that all modules with XS components load MongoDB,
which is where XS loading happens.
replace lives_ok in t/readpref.t
fix t/database.t for old mongos

Runs a command known to work before testing getLastError so things
are in a known good state.