BTP Message enconding and decoding (#182)
* creating a codec file for BTP which supports btp request and response formats
* corrects the name of the methods
* using bit names instead of abbreviations
* change managementOpcode type to number
* decoding request handshake msg
* decode msg for handshake response
* covered edge cases
* added Packet decode method
* resloved PR comments
* removed header and returned payload directly
* refactored the codec
* refactoring and updating version logic in response payload
* renaming interfaces, changed type of versions in req and response
* adds unit test case for decode methods
* btpTest for encoding
* removed extra space and tab
* changed headers type, error msgs, refactored test
* added error test cases
* added test case that supports multiple versions in request body
* updated failing test
* fixed failing error test cases