Fix #299
Initial code to enable records to be value types using the Struct attribute.
Fixed struct records from calling base ctor.
Added basic tests for struct records.