chore(travis): (fix) custom merge pubspec.lock for g3v1x rebases

Use the current version and not the ancestor version.  This means that
the merge driver has nothing to do except exist.
chore(travis): fail jobs that have a mismatched pubspec.lock

We expect that, for a clean checkout, running "pub get" will not update
the pubspec.lock file.  Any such updates should have been made along
with the corresponding change to pubspec.yaml or must be part of the
commit being tested.  Otherwise, that specific job should fail so the
author can resubmit with the updated pubspec.lock file.
chore(scripts): minor cleanup
docs(scripts): notes on karma sharding
chore(specs): minor style change
feat(mocks): change MockHttpBackend to define the assertion on flush.

Add new methods (`flushGET`, `flushPOST`, etc) to the `MockHttpBackend` class to allow defining assertions on flush. These methods add a new expectation and then flush all the pending requests until they find the one matching the expectation.

BREAKING CHANGE:

Unexpected requests are detected only when `flush` is called.

Before:

		backend("GET", /some"); //throws here if `/some` has not been defined

After:

		backend("GET", /some"); //no problem, just records the request
		backend.flush(); //throws here

Closes #900
refactor(tests): change tests to use flushGET instead of expectGET

Closes #1433
squash! wip