Fixing all bson encoders to support extra fields.

In the process, fixing a bug in '*Session' decoding,
where a field with a 'bson.Null' kind would fail.
Merge branch 'master' into replication

Conflicts:
	go/vt/topo/srvshard_test.go
Merge branch 'master' of github.com:youtube/vitess