Pointer cleanup (#78)

Remove unnecessary pointer receivers for Position and QueryResult
diff --git a/position.go b/position.go
index 0ac907c..c17bff8 100644
--- a/position.go
+++ b/position.go
@@ -18,12 +18,12 @@
 
 // String representation of the position.
 // Displays 1-indexed line and column numbers.
-func (p *Position) String() string {
+func (p Position) String() string {
 	return fmt.Sprintf("(%d, %d)", p.Line, p.Col)
 }
 
 // Invalid returns whether or not the position is valid (i.e. with negative or
 // null values)
-func (p *Position) Invalid() bool {
+func (p Position) Invalid() bool {
 	return p.Line <= 0 || p.Col <= 0
 }
diff --git a/query.go b/query.go
index f44848b..307a1ec 100644
--- a/query.go
+++ b/query.go
@@ -30,7 +30,7 @@
 // Values is a set of values within a QueryResult.  The order of values is not
 // guaranteed to be in document order, and may be different each time a query is
 // executed.
-func (r *QueryResult) Values() []interface{} {
+func (r QueryResult) Values() []interface{} {
 	values := make([]interface{}, len(r.items))
 	for i, v := range r.items {
 		o, ok := v.(*tomlValue)
@@ -45,7 +45,7 @@
 
 // Positions is a set of positions for values within a QueryResult.  Each index
 // in Positions() corresponds to the entry in Value() of the same index.
-func (r *QueryResult) Positions() []Position {
+func (r QueryResult) Positions() []Position {
 	return r.positions
 }