Add a magic quantity decorator that parses quantity input.

This is a spin off from #902 it parses inputs to a function and checks the inputs are Quantities and that they can be converted into the desired unit, it then converts the input into that unit. This means that you can assume the input is in the unit you want it to be.

The potential downside of this is that you loose the input unit, so the output will always be in the same unit irrelevant of the input. Which is one of the advantages of the astropy unit infrastructure. The solution to this is not to do the conversion in the decorator.