Fix mutations in methods using #send
Fix mutations in Axiom::Function::Predicate
Fix mutations in Axiom::Function::Proposition
Upgrade abstract_type gem dependency

* Fix code that fails due to changed in abstract_type
* Fix mutations in functions
* Rename Proposition.new to Proposition.coerce
Fix mutations in Relation::Keys
Refactor Relation::Keys.coerce
Change flay threshold
Fix mutations in Relation::Header
Fix mutations in Relation::Tuple

* Move #to_ary to an ivar, and the use an attr reader instead of
  recomputing it each time #to_ary is called.
Add Tuple#rename
Move Tuple#project and Tuple#extend closer together in the source
Change flay threshold
Add TODO note for future method/type development
Add jruby-19mode to list of rubies for travis to allow failures

* There is a bug in the old version of jruby running on travis that
  is fixed in the latest stable.
Fix mutations in Axiom::Equalizer
Fix rubocop warning
Fix mutations in Axiom::Relation::Proxy#respond_to?
Kill mutations in Axiom::Relation::Proxy#method_missing

* Curiously this was done by removing the explicit test for
  #method_missing and allowing the specs for the public interface to
  cover it.
Fix mutations in Axiom::Relation::Proxy

* Move method declarations up to happen at module evaluation
  rather than at runtime when the module is included.
Fix mutations in Relation::Operation::Sorted