Restore non-zero exit code introduced in 26be8322 and lost in 13a1709

I checked that init:stop/1 was present in OTP R13B03.

Also rename function in a hopefully more meaningful way following
change in 13a1709.
Merge pull request #139 from lucafavatella/better-shutdown

Use non-zero exit status for expressing failure
Remove non-core modules
Dialyzer -Wunmatched_returns fixes