Change Jenkins to use a single consistent data-binding field.

See also: https://github.com/stapler/stapler/pull/39

This commit includes several changes to accommodate the aforementioned change to Stapler (moving away from 'stapler-class'), as well as to make Jenkins consistently use this same JSON field (moving away from 'kind').


NOTE: Stapler will continue to accept 'stapler-class' for backwards compatibility, and similarly this will continue to pass 'stapler-class' for plugins that have keyed off of it.
Counter-intuitive behavior? In Jenkins APIs?

There is no process for deprecating anything, which is why we still have code in core that treats `AbstractProject.scm == null` as an alias for `CVSSCM`.