Replaced several counted for loops with while loops because for comprehensions are slow for counting.
Removing for comprehensions because they're slow and so are returns inside of them.
Changed for comprehension to foreach.
Added convenience functions for common while-looping constructs. Replaced some for comprehensions with these.
Changed a for comprehension to a seqloop.
Removed dead code and made ACMatcher.tryMatch's loop a breakable while.
Documented looping convenience functions.
Changed seqloop to use countedloop.
Added inline annotation to hashing and looping functions.
Revert "Changed seqloop to use countedloop." for performance reasons.

This reverts commit c9ffc573ed2ebe6c0e14faf055eefa5325958363.
Merge pull request #221 from heiseda/master

Performance Tuning
Breaks do more harm than good.
Added scaladoc information to get_mandatory_bindings
Merge branch 'master' of https://github.com/elision/elision
Fixed issues with associative sequences not flattening properly. In Operator, after the new sequence is created make it an argument list and use it throughout doApply()
In operators, if the absorber is found return sooner.
Allowed custom_equals to be used without risky_equals disabled. Changed to otherHashCode for last ditch compare() value.
Changed otherHashCode to Long.
Replaced some for comprehensions.
Merge pull request #222 from heiseda/master

Hashing and loop changes