Added JSON->io.Writer; consistent ordering to WriteOnce

* Added `WriteJSONOnce` API to output JSON to `io.Writer`
* Ensure `WriteOnce` outputs in a consistent order
 * go 1.3 map ordering is no longer consistent for small maps per the [release notes](http://tip.golang.org/doc/go1.3#map)