Add support for content on same line as block start/end

This is particularly useful when using a templating language that does not prettify whitespace.

Basically, the change involves recording the index from the start of the first line of a block at which the block's opening tag starts, and the index *from the end* of the last line of a block at which the block's closing tag ends.  Then, when replacing the `blockLine` in the `FileProcessor#replaceBlocks` we wrap the replacement with the content before the block start and after the block end.

The new tests demonstrate what is now supported, and only one existing test needed changed (needed to specify `startIndex` or else the entire string is re-inserted, as `'string'.slice(undefined) == 'string'`).