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