Changed PtrState to use ptr, offset and length

This means malformed streams can't make us copy from before the beginning
of the destination buffer.
Added getByteString

Gets len bytes of data from the source, demanding input if necessary.
Removed get{Src,Dest}Progress

Since the input buffer could be replaced during parsing, the numbers
returned but at least getSrcProgress would be worthless.
Merge branch 'master' of https://github.com/axman6/HLZ4

Conflicts:
	src/Codec/Compression/HLZ4/Decode.hs