* tramp.el (tramp-methods): Tweak docstring.
(tramp-file-name-handler, tramp-completion-file-name-handler):
Avoid recursive loading.

* tramp-adb.el (tramp-unload-hook): Unload `tramp-adb'.

* tramp-compat.el (tramp-unload-hook): Unload `tramp-loaddefs'.

* tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
Tweak docstring.
(tramp-sh-handle-write-region): Tweak error message.
(tramp-make-copy-program-file-name): Tweak docstring.  Quote
result also locally.
* tramp-tests.el (tramp-test32-recursive-load)
(tramp-test33-unload): New tests.
* tramp-sh.el (tramp-sh-handle-file-truename): Quote the file name
twice due to backticks.  (Bug#17238)
(tramp-sh-handle-expand-file-name): Tweak docstring.
* tramp-sh.el (tramp-sh-handle-file-truename): Revert previous
patch, there are new problems with file names containing spaces.
Get rid of backticks.  (Bug#17238)
* tramp-tests.el (tramp-test30-special-characters): New test.
(tramp-test31-utf8, tramp-test32-asynchronous-requests)
(tramp-test33-recursive-load, tramp-test34-unload):  Rename.
* tramp-tests.el (tramp--test-check-files): New defun.
(tramp-test30-special-characters, tramp-test31-utf8): Use it.
* tramp.el (tramp-run-real-handler, tramp-file-name-handler):
Do not autoload.
(tramp-file-name-handler, tramp-completion-file-name-handler):
Revert patch from 2014-04-10, it isn't necessary anymore.
(tramp-autoload-file-name-handler)
(tramp-register-autoload-file-name-handlers): New defuns.
(top): Autoload call of `tramp-register-autoload-file-name-handlers'.
(tramp-register-file-name-handlers): Remove also
`tramp-autoload-file-name-handler' from `file-name-handler-list'.
Do not autoload its invocation, but eval it after loading of 'tramp.
* tramp-tests.el (tramp-test33-recursive-load): Extend test.