Handle empty blocks in arrow_alignment

When a block has multiple params but has an empty nested block inside of it, it would trigger a NilClass exception as we were lazy initialising a value when we encountered the first `=>` in the block.  Instead, we now initialise it when we encounter the start of the block.

Closes #301