shell: Fix shell command output

Shell command output was broken in @8a5a8db, which refactored nvim to no longer
switch to cooked mode(linefeeds are processed differently).

Fix the problem by refactoring write_output to accept to extra arguments that
control the flushing behavior and where data will be written to: buffer or
directly to the screen.
deps: Fix 32-bit build of lib{unibilium,termkey,tickit}
Merge PR #1613 'Fix shell command output'
Revert "deps: Fix 32-bit build of lib{unibilium,termkey,tickit}"

This reverts commit f76df2475356add68212d737acd7da5bba3b64d6.
deps: Fix unibilium/libtickit URLs
Merge PR #1620 'Fix 32bit unibilium build'
Allow most old tests to pass with nocp.

test69.in:
    because 'nocp' sets 'esckeys', add an extra <esc> to avoid 'tm' pause.
Allow the rest of the old tests to pass with nocp.

test40.in, test60.in, test_breakindent.in, test_listlbr.in, test_listlbr_utf8.in:
    To avoid <tab> triggering wildmode, set wildchar to 'cp' default.

test_breakindent.ok:
    Modify expectations to avoid cpoptions+=n
Make migrated test33 more similar to old legacy test.

Remove `expandtab` and add a missing trailing space from the legacy test.
Fix warnings: edit.c: ins_compl_next_buf(): Np dereference: MI.

Problem    : Dereference of null pointer @ 3247.
Diagnostic : Multithreading issue.
Rationale  : Problem only occurs if global `ctrl_x_mode` is modified
             while calling function is executing.
Solution   : Use local copy instead of global.
Fix warnings: message.c: msg_attr_keep(): Np dereference: FP.

Problem    : Dereference of null pointer @ 179.
Diagnostic : False positive.
Rationale  : Error occurs if `s` paramater is null, which should not
             happen.
Resolution : Declare parameter as non null.
Merge pull request #1510 from three-comrades/testnocp

Allow all tests to pass with 'nocp'
Merge pull request #1618 from elmart/clang-analysis-fixes-5

Fix clang analysis warnings. (5)
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)