Add the MR_DEPRECATED_AND_REPLACED_BY() macro to handle showing a nice deprecation warning when a method has been replaced rather than completely deprecated
Tidy up the deprecation warnings and macros
Update a few deprecated methods to note that they won't be removed until version 4.0.

Yay, semantic versioning!
More documentation
Cleaning up more documentation for consistency
Cleaning up more documentation for consistency, and adding more docs! Somebody stop me!