Add example of selecting object with keys

It is not very straight forward how to select objects by their attributes from an array. This example provides the basic use case of how to select some objects based key values.
Apply TCO to recurse/1, add recurse/2; tweak docs

Signed-off-by: Nicolas Williams <nico@cryptonector.com>
Remove duplicate TOP insertions, drop unused defs.
Merge pull request #523 from eproxus/patch-1

Add example of selecting object with keys
Fix docs (missing backquotes)
Document TCO a bit more
Merge pull request #532 from wtlangford/top-removal

Remove duplicate TOP insertions, drop unused defs.
Actually check version for bison.

Clean up oniguruma checks.
Better error msg for bad shell quoting (fix #538)
regex filters (#432): scan, splits, split, sub, gsub
Fix docs YAML (introduced in #432)
Fix tests for #432
Add `def f($arg):` syntax (fix #524)
Use `def f($a): ...;` syntax for builtins
Make regexp builtins and range/3 use #524 too
Make `nwise` private
Allow any number of jq-coded function arguments
`.foo[-1] = ...` trips assertion (fix #490)
Out of bounds negative array indices should raise
More constant folding: null, true, and false

    A step towards doing constant folding for arrays and objects.