Added more support for labels

Fixed an offset miscalculation.

Also added patterns for common instructions using labels. All C type instructions will probably want to be able to use labels for the PC relative form.
Not a big deal, but just wanted to point out that the more Haskell idiosyncratic way to do this would be: 
```
filter isLine . map cleanLine . lines $ s
```
and 
```
filter isLine . map deLabel $ cleanLines
```
I think. Maybe I'm wrong. But it really isn't a big deal one way or another, you don't need to change it.