Bug 839020 - Compiler doesn't throw IndexErrors when one of the key is calld 'undefined' or 'null'
Add shape guard for unary operators
Add shape guard for logical operators
Add shape guard for binary operators
Merge branch '839020-undefined-null-keys' into 816890-shape-guards
Add a shape guard for the index in HashLiteral
Add a shape guard for complex strings (accepting string and numbers only)
Use null to indicate an enitity with no value; use undefined for other missing components
Bug 802839 - Conditional tests should only accept Boolean expressions
Allow empty strings in the index (no different than multi word strings, or non-matching strings, which all fall back on the catch-all (*) value)
Merge branch '816890-shape-guards'

Bug 816890 - Compiler should not type-cast inside ConditionalExpressions