[FEATURE] support numeric currency codes

ISO 4217 states support for both alphabetic and numeric codes. rippled adheres to the ISO 4217 as stated in the Currency_Format on the wiki (https://ripple.com/wiki/Currency_Format) and there are trustlines out there with numeric currency codes.

The three-digit numeric code is useful when currency codes need to be understood in countries that do not use Latin scripts and for computerised systems. Where possible the 3 digit numeric code is the same as the numeric country code.
Merge pull request #87 from geertweening/feature/numeric_currency_code

[FEATURE] support numeric currency codes
[CHORE] Move HTTP request signing functionality into its own class.
[FEATURE] Add ability to calculate ledger entry keys.