implement expression parser

Boost::Spirit::Qi parser that handles expressions. Several unit tests
 also go with this, but some depend on an expression evaluator
 to do full validation.

The BNF file will be removed once the entire assembler's grammar has
 been ported to Qi.
implement expression evaluator

also complete the term and expr parsing/evaluation tests
refactor operators into Qi symbol tables with LUTs for eval operations