implement subexpression operator, minor cleanup of Symbol
convert Result from interface to abstract class
implement result casting; deprecate old toScalar/toSet methods
add throws clauses to binary and unary symbol methods
remove unused asSet method
remove result mocks from arithmetic tests; it's only complicating things
parameterize Result
move equals, hashCode, and toString up to Result
stop mocking results, it isn't worth it
convert arithemic operators to getValue
convert remaining uses of asScalar to getValue
remove asScalar
Merge branch 'result-redesign'
implement set results
implement set literals
refactored previewNextToken into previewNextSymbol to better reflect how it's being used
convert binding powers into an enumeration
implement repetition operator
implement roll operator
improve and expand Result tests