Apply wildcards after an array.

Apply wildcards to array members. Currently the wildcard name is
incorrectly applied to the array itself.

Closes #22.
Merge branch `wildcards` into `master`.
Implemented sub-queries.

Implemented sub-queries using square brackets to indicate a sub-query
predicate. Curly braces are now used to indicate a JavaScript predicate.

The above is a better description and distinction than the ones given in
the `README.md`. At some point before the next release the headings for
the `README.md` ought to be changed to **JavaScript Predicates** and
**Sub-Query Predicates**. StackOverflow has a nice discussion of the
meaning of the word [predicate in computer
science](http://stackoverflow.com/questions/3230944/what-does-predicate-mean-in-the-context-of-computer-science).

Closes #15.
Merge branch `sub-queries` into `master`.
Adjust query for implicit root.

Slight update to the adjustments to a query with an implicit root. If we
have a predicate we prepend slash and dot, otherwise we prepend just a
slash.
Merge branch `sub-queries` into `master`.
Propagate parameters into query predicates.

Muddled argument slicing was eliminating the arguments passed to query
predicates.
Merge branch `sub-queries` into `master`.
Inline named functions, rename variables, tidy.

Tidy the code by removing two named functions that can be as easily
expressed inline, renaming the `test` variable to `predicate` and some
other odds and ends.
Merge branch `tidy` into `master`.
Implement `..`.

Now able to navigate ancestors using `..`. This is useful in sub-queries
where we might want to compare an array element to one of it's siblings,
or find the sibling following a particular array element.
Merge branch `ancestors` into `travis-ci`.

Conflicts:
	index.js