halt(1) after 'elvis rock' invocation fails.

This makes 'elvis rock' usable in e.g. continuous integration systems or other
automation relying on the usual shell return codes to detect failure.
Cf. https://github.com/inaka/elvis/issues/175

This change also:
* fixes a couple of typos (unimplemened -> unimplemented, emtpy -> empty);
* adds mocks for erlang_utils:erlang_halt around every invocation of main()
  that calls 'rocks';
* standardizes use of meck:unload/1 throughout - some were in 'catch'
  expressions, some not; this doesn't appear to be necessary.