Full currency name support and test setup

This pull requests adds full currency support to the client for the Send and Exchange tab. This will also properly show demurred and interest bearing currencies according to the full name spec.

Additionally this pull requests adds a start to the testing framework. See exchangeTabSpec.js and sendTabSpec.js

`ripple-lib` has been updated with additions to the `Currency` and `Amount` classes. This pull request adds more integrated support for working with `Currency` class. A `Currency` object can be created by using the `from_json()` or `from_human()` methods. The result `Currency` object can then be used to get the proper readable format. E.g.

```
var currency          = Currency.from_human('XAU (0.5%pa)');
var otherCurrency = Currency.from_human('USD');

currency.get_iso();  // XAU
currency.to_human();  // XAU (0.5%pa)
currency.to_human({full_name: 'Gold'});  // XAU - Gold (0.5%pa)
```
For more examples of `Currency` use, see the [test cases in ripple-lib](https://github.com/ripple/ripple-lib/blob/develop/test/currency-test.js) 

We should start using the `Currency` class to express currencies throughout the client moving forward for more flexibility around displaying currencies. The current string parsing in the client for currencies make it harder to make changes to the way we parse and display currencies.


It's probably easiest to navigate all the changes by commit.