Added ability to traverse arrays

Array traversal is probably much more efficient than Object traversal
right now because it uses mutable array operations, so hooray!
Empty string conforms to spec

So apparently if the path is the empty string you're supposed to
actually get the empty string field at the top level.  Huh.
Removed UnicodeSyntax extension from cabal file

I'm not actually using UnicodeSyntax, so there's no point in keeping it
Relaxed version constraints

Runs on base 4.*, probably could relax them more but I'm not especially
inclined to until a greater than 4 base rolls around