Refactoring test
Removing unnecessary $'s in tests
Adding basic support for inclusive and exclusive ranges
Modifying ranges to support duck-typing, removing "backwards ranges"
Eliminating IDENTIFIER-related reduce/reduce conflicts
Stateless/functional iterators
Adding guava immutable collections
Adding convenience methods for interacting with expressions
Linked list implementation