Implement rleCompress

The routine currently has the following limitations:
- 9Bh bytes at the very end of an input aren't compressed
- Input cannot be the same location as output
- Cannot read from/write to file streams

The first isn't really an issue; the others will be rectified.

This commit addresses #16.
Implement rleDecompress

Like rleCompress, it currently cannot read from/write to file streams.

This commit addresses #16.
Change hexadecimal convention to 0xNN
Various optimizations in RLE routines
Remove special case for lone 0x9B from RLE

The special case was too slow to justify the small increase in
compression it gave.

This commit addresses #16.
Implement rlePredictDecompress

Again, there are no possible errors at the moment.

This commit addresses #16.
Implement rlePredictCompress

I found it easier to just reuse a lot of the code from rleCompress.

This commit addresses #16.
Clarify RLE error codes

That is, there are none.  Yet.  Once stuff like overlapping
compression and reading/writing streams is enabled, there will be
suitable errors in place.

This commit addresses #16.
Implement RLE unit tests

This commit addresses #16.
Make stylistic changes to RLE

- Remove informal comments
- Rename size calculation functions
- Align comments
- Reorganize tests
Change RLE calculation code to return sizes in BC
Merge branch 'master' into rle

Conflicts:
	src/00/util.asm
	src/jumptable.config

Jump table in master has changed significantly.
Replace "magic value" with symbolic constant in RLE

This commit closes #16 when merged.  Filestreams support will be
moved to another issue.
Merge branch 'rle'
Merge branch 'master' of git://github.com/KnightSoft/kernel