Only change compilation status if warnings_as_errors
There is no need for =~ to be a macro
Allow +, -, and friends to be called dynamically

Our compiler still inline those calls. This commit simply
allows one to write:

    mod = Kernel
    mod.+(1, 2)
Go to :binary.match(left, right) directly instead of hoping through String.contains?
Adding Set with simple ops just for bucket (small sets)
delete from a set
I think member is a better name than value
Adding set union
Adding set intersection for buckets
Adding set difference for buckets
Adding set member? for buckets
put supports growing into a trie.
* to_list works with trie
Support expanding depth of nodes.
There is a lot of CRAZY resizing logic that is copied from HashDict. Once everything is working consider extracting.
member? for sets works with nodes
union works with nodes
delete works with nodes
nodes also don't contain duplicates
Correcting a bad merge
documentation for functions.
Refactor: removing unneeded comparisons