Initial commit of jep-3
Allow projections on functions
Support type checking in argspec
Add support for variadic function

Used in not_null, which is variadic.
Final compliance tests
Fix bugs in sort_by
Change or statements to use true/false values rather than null
Fix failing test from or expression update

The empty list is considered false and therefore won't
be chosen in an or expression.
Pull sort_by and resolve=False from functions

Needs more work and a general solution, deferred to a later
JEP.
Copy over jep-3 to specification.rst

Including some minor edits.
Update spec to add a note about floating numbers
Refactor resolver/type checker into smaller functions
Add type info for sort/to_number/to_string
Fix types/minor formatting errors in spec docs
Document function projections in the spec
Merge branch 'jep-3' into develop

* jep-3:
  Document function projections in the spec
  Fix types/minor formatting errors in spec docs
  Add type info for sort/to_number/to_string
  Refactor resolver/type checker into smaller functions
  Update spec to add a note about floating numbers
  Copy over jep-3 to specification.rst
  Pull sort_by and resolve=False from functions
  Fix failing test from or expression update
  Change or statements to use true/false values rather than null
  Fix bugs in sort_by
  Final compliance tests
  Add support for variadic function
  Support type checking in argspec
  Allow projections on functions
  Initial commit of jep-3
Adding a functions JEP
Adding JEP number
Update JEP with latest edits

Removes sort_by, fixing wording, adds projection
semantics for functions.
Merge branch 'mtdowling-functions' into develop

* mtdowling-functions:
  Update JEP with latest edits
  Adding JEP number
  Adding a functions JEP