Fix https://jira.guidewire.com/browse/IDE-406

Warn on self delegation
Do not allow array or primitive types in Compound type declarations

Fixes #23
fix byte code generation involving multiplication between a dimension and BigInteger[Decimal]
Fixes in unary expressions

-The operand's type of the logical complement operator (!) must be boolean
-The operand's type of the bitwise complement operator (~) must be integer or long
Merge branch 'spec' into master