Refactor CoreTypes and WireFormats
Rename Types and Classes hierarchy
Merge remote-tracking branch 'anchor/v2' into v2