Remove vc-state-heuristic from the set of public methods.

* vc/vc.el, vc-hooks.el, and all backends: API simplification;
vc-state-heuristic is no longer a public method, having been removed
where it is redundant, unnecessary, or known buggy. This eliminated
all backends except CVS.  Eliminates bug#7850.
New macro `define-inline'.

* lisp/emacs-lisp/inline.el: New file.
Remove stay-local support in svn back end, because...

...status -v is so slow that it's unusable.
Confine vc-stay-local to CVS, because it was unusable in SVN.
Finish vc-stay-local containment.

* vc/vc.el, vc-hooks.el, and all backends: API simplification;
vc-stay-local-p and repository-hostname are no longer public
methods. Only the CVS and SVN backends used these, and the SVN
support was conditioned out because svn status -v is too slow.
The CVS back end retaiin this machibery and the vc-stay-local
configuration variable now only affects it.
Update some documentation changes and todo items.
Small but crucial change for new VC registration API.