Added parts as a common type parameter

https://github.com/kfgodel/diamond/issues/15
Added native type converter as only point of type creation

https://github.com/kfgodel/diamond/issues/15
Trying to reduce duplicated code a little

https://github.com/kfgodel/diamond/issues/15
Merge pull request #21 from kfgodel/type_parts_and_builder

Type parts and builder