Create tables with fields in same order as defined in struct
Merge pull request #280 from ryanss/master

Create tables with fields in same order as defined in struct
Merge pull request #282 from jnfeinstein/master

Add additional methods of specifying the 'select' portion of a query.
fix panic problem when the struct has unexported field.
Merge pull request #284 from shirou/master

fix panic problem when the struct has unexported field.
Create empty slice when records are not found.

There is a gotcha in golang (go figure!) resulting from the
difference between a nil slice and an empty slice. While the length
of both are 0, the JSON encoder will interpret the nil slice as
'null' and the empty slice as '[]'. Other libraries (i.e. ActiveRecord)
will return an empty array when no values are found. I have found
that this translates into better client-side code, since you don't
have to protect against null arrays.

See 'http://danott.co/posts/json-marshalling-empty-slices-to-empty-arrays-in-go.html'
for more information.