Added tests for horizontal rules and fixed underscore rules

Partial fix for #9 

I've moved the code for horizontal rules down a bit, so it is not part of the performance optimisations wtih `$quick_block`.

This could also be fixed with additional check for '_' in the quick_block check.

But this way logic and performance optimisations are separated.