Generate BoxedType methods for accessing fields

Generate methods for accessing individual fields by name within a boxed
type. This performs basic type checking before using the correct
getelementptr incantation to access the field.
Support simple bitwise instructions

Add support for generating "and", "or" and "xor" instructions. The "and"
instruction is needed for runtime type assertions and the code is easily
generalized to support "or" and "xor" at the same time.