Added basic Expression classes

A lot of details, declarations and implementations are missing because
of unresolved discussions (statements vs. assignment expressions,
primitive operations vs. macros, etc.) as well as VariableIdentifier not
holding a ref to Value for function calls.
Refactoring to increase test coverage
Merge pull request #47 from lucaswoj/testcoverage

Refactoring to increase test coverage, added TypeValue::isSubtypeOf method
Added isCompiletimeEvaluable and isRuntimeEvaluable methods to the Value class
Spelling, comment fix
Renamed isRuntimeEvaluable to isSynthesizable, added unit tests
Merge pull request #36 from lucaswoj/value-evaluable

Add isCompiletimeEvaluable and isRuntimeEvaluable methods to the Value class
FunctionExpression Branch
Expression && LiteralExpression
Modified tests to remove FacadeExpression
Expression and LiteralExpression

- Moved FunctionInvocationExpression and pals to another branch, no
longer in this commit
- Changed some of the tests to use LiteralExpression
- Changed Value->TypeValue in TypeMismatchException
Formatting
Removed doc blocks
Reverted TypeMismatchException
Merge pull request #39 from maxqchen/master

Added basic Expression classes
Added convenience NamespaceIdentifier constructor
Merge pull request #46 from lucaswoj/namespace-string

Added convenience NamespaceIdentifier constructor