JsonPointer.from_parts should handle the empty path

[The RFC says](http://tools.ietf.org/html/rfc6901#page-5) that the path `""` points at the original document. However, passing `[]` to `from_parts()` results in a path of `"/"` (the same as when one passes `[""]`. This makes the empty list produce a pointer for the empty path.
Added tests for round-tripping pointers from paths to parts
Calculate path properly when self.parts == [].
Merge pull request #7 from alexsdutton/patch-1

JsonPointer.from_parts should handle the empty path