Add transparent input decompression

This supports gzip and bzip2 by magic number determination.

Trailing whitespace differences in documentation due to opinionated
editor.
Add tests for decompressor
Use error returns and interface type for parsing

Fixes issue #72

This change simplifies interactions with parsing N-Quads and makes
reading datasets more robust. Changes made while here also improve
performance:

benchmark           old ns/op     new ns/op     delta
BenchmarkParser     1058          667           -36.96%

We still use string concatenation which I'm not wildly happy about, but
I think this can be left for a later change.

Initial changes towards idiomatic error handling have been made. More
significant changes are needed, but these have subtle design implication
and need to be thought about more.

30kmoviesdata.nt.gz has been altered to properly escape double quotes.
This was done mechanically and with manual curation to pick up
straglers.
Merge pull request #71 from kortschak/compress

Add transparent input decompression
Switch to the latest mgo path.

This is not only the right thing to do, as per the documentation of the
latest release (yesterday) but it should now be backed by git and not
bzr, which is a big plus and won't break our build so much.
Merge pull request #76 from barakmich/master

Switch to the latest mgo path.
Add package prefix to errors
Merge branch 'master' into parse

Conflicts:
	db/load.go
Merge pull request #75 from kortschak/parse

Use error returns and interface type for parsing