* tramp-tests.el (tramp--test-make-temp-name): Optional argument DIR.
(tramp--instrument-test-case): Catch also `quit'.
(tramp-test10-write-region): `tramp-copy-size-limit' can be nil.
(tramp-test11-copy-file, tramp-test12-rename-file): Extend tests.
* tramp.el (tramp-methods): Fix docstring for `tramp-copy-program'.
(tramp-call-process): Trace also DESTINATION.

* tramp-sh.el (tramp-methods, tramp-default-user-alist): Add "nc".
(top): Completion function for "nc" is
`tramp-completion-function-alist-telnet'.
(tramp-do-copy-or-rename-file-out-of-band): Call function if
adviced in `tramp-methods'.  Do not set `default-directory' for
`start-process-shell-command' call, not needed anymore.
(tramp-do-copy-or-rename-file-with-nc, tramp-get-remote-nc): New defuns.
* tramp.texi (Inline methods): Remove restriction on "telnet".
(External methods): Add "nc" method.
* tramp.el (tramp-methods): Add docstring for
`tramp-remote-copy-program' and `tramp-remote-copy-args'.

* tramp-sh.el (tramp-methods) <nc>: Add `tramp-remote-copy-*'.
(tramp-do-copy-or-rename-file-out-of-band): Merge
`tramp-do-copy-or-rename-file-with-nc'.
(tramp-do-copy-or-rename-file-with-nc, tramp-get-remote-nc): Remove.
(tramp-make-copy-program-file-name): Handle also the "nc" case.
* tramp-tests.el (tramp-copy-size-limit): Set to nil.
(tramp--test-make-temp-name): Optional argument LOCAL.
(tramp-test10-write-region): No special test for out-of-band copy
needed anymore.
(tramp-test11-copy-file, tramp-test12-rename-file)
(tramp-test21-file-links): Use it.