Merge branch 'release-0.4.1' into develop
Remove function usage from pipe.json

Functions should not be required to use pipes.
Fix typo
Relax compliance tests for to_string

The JMESPath types only has a number so 1 == 1.0.
The test has been updated to not required this behavior.
Also JSON pretty printing shouldn't have any spaces, to help
make implementations consistent.
Merge pull request #60 from sopel/patch-1

Fix typo
Fix to_string to json dump without spaces
Add jmespath.test git repo as a submodule
Update compliance tests with latest tests
Initial commit that switches to an simpler AST

This commit is a pure refactoring, a non-functional change.
The internal have been restructured as follows:

* The AST nodes have been switched to dictionaries instead of
  classes.  In additional to getting pretty-printing for free now,
  this also makes it the AST nodes purely data, the search() behavior
  is now removed from AST nodes, effectively decoupling the AST
  representation from the execution semantics of the AST nodes.
* The search()'ing functionality has been extracted to an external
  tree visitor.  The visitor interface also allows for a generic
  mechanism for manipulating the AST in the future (i.e. AST
  rewriting for optimization, emitting byte code).
* The functions have been moved out to a separate module.  The
  interpreter now takes a dependency on the runtime functions.
  This also theoretically makes it possible for a user to add
  new functions.

The only noticeable change from this change is that function
name validation and arity validation are now at runtime instead
of compile time.  By doing this though we now allow for user
provided functions.
Cache visitor method lookups

Slight improvement in perf when a node appears
multiple times in an expression.  Also boosts perf
in the case where the same expression is searched
repeatedly with different data.
Fix failing build, use https link for test submodule
Merge branch 'simple-ast' into develop

* simple-ast:
  Fix failing build, use https link for test submodule
  Cache visitor method lookups
  Initial commit that switches to an simpler AST
  Update compliance tests with latest tests
  Add jmespath.test git repo as a submodule
  Fix to_string to json dump without spaces
Add coveragerc file
Add missing unit tests
Fix lexer bug when lexing an empty string
Add starts_with, ends_with, and reverse function
Update min*/max* to support strings

Fixes #65.
Corrected expected results for perf tests.
Merge branch 'empty-lex-string' into develop

* empty-lex-string:
  Fix lexer bug when lexing an empty string
Merge branch 'more-functions-2' into develop

* more-functions-2:
  Add starts_with, ends_with, and reverse function