Initialize with money

Currently when parsing a `Money` instance to the constructor you'll get something like:

```ruby
money = Money.new(1_00, 'AUD', my_bank)
Money.new(money) #-> Money.new(1, 'USD', default_bank)
```

This is a somewhat confusing result.

This pull request changes this behavior to create a new Money with the same values as the provided Money. As shown in the following example.

```ruby
money = Money.new(1_00, 'AUD', my_bank)
Money.new(money) #-> Money.new(1_00, 'AUD', my_bank)
```