Refactor `prepend_subject_array` to eliminate prepended whitespace bug

A bug was introduced where a single white space was being added to a
subject line when neither of the prepend configurations were enabled.
This commit refactors the `prepend_custom_subject` method to add a
space only when there are strings to prepend. It also introduces a new
convenience method `custom_subject` which does the array join
previously done in `prepend_custom_subject`. It also reduces the
complexity of the method itself, which was introduced before to better
handle messages with a `nil` subject.

This also makes the test expectation in the previous commit pass.