Support for native CoreBitcoin objects

This PR aims at accepting and returning native objects like BTCAddress, BTCTransaction and BTCBlock so users of the library do not need to parse JSON structures themselves.

I don't feel like this comment adds a lot of value. I can basically infer what is communicated in the comment by reading the few lines of code that follow the comment.