Beginning to take into account the target key when transposing between keys.

Introducing a method that gets the correct spelling of a key when given a target key by building out the scale for the target key.
Our transposer can now handle weird keys.

Now that our transposer can handle weird keys, when targeting a weird key, we should accommodate it.
Our test should test for the default sharp symbol.

Instead of targeting the pound sign, we're targeting the actual sharp unicode symbol in our tests.