Add missing "var"
When initializing oplog tailing, only read 'ts'

This means we read less data (yay), but more importantly it means that
if the last entry contained custom EJSON types, we don't try to parse
them. This code gets called synchronously from the first
Meteor.Collection constructor, which can legitimately be before your
EJSON.addType call.

Fixes #2018.
Clone various parameter lists in livedata

Specifically:

 - On client, clone parameters to sub and methods (so that if they're
   modified outside before the method message is actually sent, before
   the sub params are used for de-duping, or before resending messages
   on reconnect, this doesn't affect what we do)
 - On server, ensure that method bodies mutating their arguments does
   not affect callers of Meteor.call (executing locally)

Fixes #2025.
Upgrade to node-mongodb-native 1.4.1

This improves the replset join event.
Re-poll all OplogObserveDrivers on mongo failover
Add a flag to MongoRunner which runs 3 mongods

This is only intended for testing. No data is preserved from one run to
the next, and if any mongod exits for any reason, the rest are killed;
there is no mongod restarting.

It takes a while (~20 seconds) to start up because it waits for the
replset to be ready.
Test that observeChanges works over a failover
Feedback from nim's review of be4d306.