Updated Memory Object to add missing fields

Addresses #118.

Added the following fields:
* Memory_Source
* Block_Type
* Region_End_Address
* is_volatile

Added the following types:
* BlockTypeEnum: an enumeration of block types
* BlockType: an encapsulating type allowing the union of xs:string and BlockTypeEnum