Added Position and Document support

TomlDocument provides an optional TOML processing path where position
informaiton is stored alongside a TomlTree.
* Added Position struct
* Added TomlDocument struct
* Revised parser to emit position data
* Revised LoadFile() and Load() to use revised parser
* Revised token to use new Position struct
* Added tests for new functionality
* Bugfixed table array duplicate key handling
* Applied gofmt to all code