better handling of preproc statement indentation

This PR does a few minor things:

1. Preprocessor lines, e.g. lines starting with `#`, are skipped when looking back to determine an appropriate indentation.

2. `default:` is properly aligned as with `case 'x':` statements (it had been left out)