Added argument to bindMe() to prevent unbounded recusrion on guards. Now using bindMe() in add_bind()
Checkin of exception used to indicate timeouts.
Fixed a problem with rewrite timeouts.
Changed rule library to throw timeout exception
Added TimedOut to BasicAtom
Changed RuleLibray to throw TimedOut exception on timeouts.
SequenceMatcher.add_bind() has been changed to take a (Variable, Atom) tuple and to use Variable.bindMe to do a bind, which honors guards.

Made changes in SequenceMatcher and ACMatcher to support the changes to add_bind().
Enabled guards on patterns.

Removed code used while debugging.

Removed commented out code.
Added FastLinkedList.scala
Fixed AC list flattening and sorting.
Add check to only resort an AC sequence only if an A flattening happened.
Added AtomSeq and Operator changes from sandy branch
Added return type in SpecialForm
Changed add_bind() such that it doesn't use an exception to do normal behavior.
Committed changes from sandy branch that don't use FastLinkedList for applies.
Merge pull request #204 from heiseda/master

Honor guards in mandatory matches, speed up Operator and AtomSeq, and other purposes.