[#46836025] Split integration tests for CLIs

Separate logtag and logship integration tests with a view to writing more
logship tests.
[#46836025] Replace shell pipes in integ tests

Using `communicate(input)` is cleaner and doesn't require crazy quoting.
[#46836025] Remove --no-stamp logship integ test

Remove the `--no-stamp` option from the logship integration test when
passing in JSON. This makes little sense for logship, since we always want
to ship with a timestamp. We also need to ensure that a TS in JSON is
preserved.

Split timestamp generation (when JSON doesn't contain TS) out to a seaparate
test which is marked as skipped until we can figure a way to mock the call
to `tagalog._now()`.
[#46836025] logship tags and fields tests

Integration tests for logship's tags and fields arguments, when used with
plaintext messages and JSON.
[#46836025] DRY-up logship integration tests

Reduce the amount of duplicate JSON strings and >80 char lines.
[#46836025] Python 3x compat (str/bytes)

Python 3x requires that the subprocess input must be a bytes/buffer object,
not a plain string. Raises the following exception

    TypeError: 'str' does not support the buffer interface
Merge pull request #1 from alphagov/46836025-integration_tests

[Fixes #46836025] logship integration tests