strings: Remove NONNUL_ALL from NULL-taking functions.

vim_strup() is only used in a couple places, with no NULLs possible, so
keep the attribute and remove the NULL check.
api: Handle NULs and newlines in buffer_*_line.
api: Add tests for when not to handle NULs.
Merge pull request #1341 from splinterofchaos/api-nul

Api: Improve Nul handling
Merge pull request #1589 from splinterofchaos/fix-const-atter

strings: Remove NONNUL_ALL from NULL-taking functions.
docs: Remove shortname references.

In addition, align the removal notice next to 'key' with other
such notices (options.txt).
runtime: Cleanup refs to removed options

- {no,inv,}shortname
- {no,inv,}sn
- cm, key (remnants of cryptmethod)
Merge pull request #1623 from Pyrohh/cleanup-shortname

Docs: Remove 'shortname' references
Make test29 work with nocompatible.
Ignore compatible mode