WIP: Implementing actual argument bubbling

https://github.com/kfgodel/diamond/issues/29
WIP: Added concept of extended type

https://github.com/kfgodel/diamond/issues/29
WIP: Added type argument bubbling. Code needs urgent refactor

https://github.com/kfgodel/diamond/issues/29
Fixed type bubbling and lineage

https://github.com/kfgodel/diamond/issues/29
Merge pull request #43 from kfgodel/29-add_lineage_support_for_type_arguments

29 add lineage support for type arguments