Add ‘crypto’ module

- add PublicKey class to manage RSA encryption

- move PQFinder from ‘util’ to ‘crypto’ module

- add some crypto functions 

- register the Telegram public keys

- move to version 0.0.2
Fix bug on TcpConnection
Review log messages in Builder class
Update Telegram public keys
Add log messages to mtproto.PlainMessage
Add logger-cache to Logger factory
Add log messages to AbstractObject class
Change property name in PublicKey class
Add log messages in classes created by Builder
Add RSA encryption function to ‘crypto’ module
Add request for DH params in authorization() func
Update RSA  encryption log messages
Add createMessageId() function in ‘util’ module
Fix TcpConnection class event handling
Fix AbstractObject class

- change writeBytes() message length management

- force the use of Buffer.writeUInt32() in 
  writeInt() method
Update static info
Update log message in telegram.link main class
Update TcpConnection log messages
Add a 'Type cache' to the Builder class

- Builder can store each created Type in a cache

- Builder can retrieve a Type from the cache using
the typeId

- AbstractObject can read/write the ID as Hex
value

- the Type Functions are able to retrieve the
returned Type from the first 4 bytes of
the buffer

- update Vector class as well

- update all the related unit-test
Fix the createMessageId function in utility module