Add Unmarshal for db Row => structs.

Add an Unmarshal function that takes a sql.Row or sql.Rows (technically,
anything with a Scan function) and an interface as an argument. It will
then attempt to map the database results to the struct fields.

This is the mirror to getFields; getFields returns a list of the fields
and their values suitable for use in queries. Unmarshal sets the fields
to values provided by database rows. It will correctly skip unexported
fields and fields not stored in the database.
Add go-sqlite3 as a dependency so Travis will pass

The fact that tests can't have their own dependencies that go get will
find is really starting to get irritating :-/
Remove vestigial error and println.

Removes the NotAStruct error which was defined but no longer used.
Removes the debugging fmt.Println call when introspecting a struct to
examine its properties.

Ensures that the test sqlite3 database is deleted at the end of the
tests.
Merge pull request #9 from DramaFever/paddy_unmarshal

Add Unmarshal for db Row => structs.