Remove unnecessary local variable assignment from idempotent methods

* Originally this was done to avoid Duplicate smells being
  attributed to those methods by reek. However, those methods are
  idempotent and memoized so there is no need for this extra
  code. Mutant is flagging these, so I'll remove them for now and
  add exceptions to reek so they are skipped.
Add spec for Relation::Operation::Insertion#initialize
Add spec for Relation::Operation::Deletion#initialize
Move Veritas constants above veritas libs

* Some veritas libs may reference these constants in the future
Add Veritas::EMPTY_HASH for default options
Add Veritas::EMPTY_ARRAY for a default empty Array
Change to Hash.new from curly braces to work-around mutations

* Since these Hashes are internal, some mutations cannot be
  covered by specs without exposing internal state.
Refactor Equalizer to override #initialize not a api private method
Remove unnecessary Set coercion
Remove unnecessary #to_int coercion
Add Relation#include?
Add spec for unhandled mutation in Algebra::Restriction#each
Move Array coercion into Tuple.coerce

* Remove explicit freeze since Adamantium will take care of that
  automatically.
Remove unnecessary Array() usage
Rename spec to match mutant naming convention
Add underscore prefix to unused local variable
Update #each specs to test the type of each yield parameter
Fix spec to kill mutation in Function::Binary::Invertible#inverse
Change blocks to use #to_proc idiom

* Under ruby 1.9 this is faster than the long-form, and it's less
  code overall.
Fix spec to kill mutations in Header set methods