MCI-1861 Copy `encoding/json` package from go1.3.1.
MCI-1861 Add support for extended JSON types.
MCI-1861 Define function to generate state transition functions.
MCI-1902 Integrate non-strict JSON parser into tools.

Implemented conversion between extended JSON and BSON types.

Also added support for marshalling the extended JSON types into bytes
representing JSON, i.e. using MarshalJSON(), and into a string for CSV
output, i.e. using String().