Adding Doppler, LOG and identity WCSes

Added the Doppler, Log, Identity WCS with documentation. Created a new PR for clear differentiation.
@nhmc @wkerzendorf How is this looking? 

@shaileshahuja it depends what you give as an input. If you give `z` as an input that is not how the WCS defines this. So this is clearly wrong. When the WCS de-shifts the spectrum, it divides by the `doppler_factor` that means it makes it pretend that the object we are observing is stationary. What you then can do is give it a negative velocity of what you would have in the WCS. Thinking about this more: It makes more sense to initialize the WCS with a velocity, because that is what is actually causing it. 
Models also allow for an inverse function that generates a new model that has the inverse effect (so that if you apply the model and then apply the inverse model, nothing happens). So by making an inverse model function you could have both options and just build the inverse into your WCS. Does that make sense?