TypeBuilder refactoring:
TypeBuilder refactoring:

- add a Type register that uses the type name as key

- add requireTypeByName() function

- rename registerType() to registerTypeById()

- rename retriveType() to requireTypeFromBuffer()

- add ‘Object’ Type parameter serialization/
deserialzation

- make the tlSchema.id optional in the 
Type constructor definition

- start using func.call() instead of func.bind()

- support mtproto.Message interface as MessageWrapper
super type

enricostara/telegram-tl-node,SAGV/telegram-tl-node,cgvarela/telegram-tl-node