[FEATURE] use hex format for currencies in orderbook

the orderbooks were expressed as the iso code and somtimes the hex value if the iso code wasn't supported by some calling client. This introduced problems when introducing demurred currencies since they weren't hex by default anymore.

This pull request changes the handling of orderbooks to fully deal with hex values in communication with rippled. Creating an order book will now accept the hex value, iso code or human readable version of the Currency string, since Currency.from_json() is used to create a Currency object.