Completed declaration. Still work to be done

https://github.com/kfgodel/diamond/issues/53
https://github.com/kfgodel/diamond/issues/33
Improved declaration implementation

https://github.com/kfgodel/diamond/issues/33
Merge pull request #56 from kfgodel/53-declaration_for_types

53 declaration for types