Convert Query into an interface

This is a prerequisite for typed Query objects
Implement ToDynamo/FromDynamo functions

These functions convert in memory objects to and from DyanomDB
attribute value objects.

Reference: http://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_AttributeValue.html
Fix struct test

It wasn't testing what we wanted to test, since it was serializing the
data into JSON before comparing. Using DeepEqual directly on the
structs validates that they do have the expected types.
Rename ConsistentRead -> SetConsistentRead

This is required for the typed query object, since structs cannot
contain the members and functions with the same name.
Update Query interface to support returning error
Add PutDocument function for storing full maps/structs
Minor refactoring to cleanup interfaces

Changes:
- Store the table so it's not required to be passed to the query
builder functions
- Invoke ToDynamo/FromDynamo outside of the query builder since it's
not part of the read path
- Some WIP changes for GetDocument which were hard to separate (I'm
being lazy)
Implement GetDocument
Implement DeleteDocument
Delete commented out line
Support serializing pointers, improve error messages
Bug fix: bool and null types are boolean, not string
Update DynamoDB Local version to 2014-10-07
Improve test coverage for document functions
Fix case
Leverage 'UseNumber' to prevent convertion to f64
go fmt
Merge remote-tracking branch 'upstream/master' into document-support

Conflicts:
	dynamodb/item.go
	dynamodb/query.go
	dynamodb/query_builder.go
Merge pull request #276 from cbroglie/document-support

Document support