Refactored the main port driver function to be less monolithic.
Switched to a switch-statement for readability.
Abstracted the guys out of olc_step so that it can be used statelessly.
Refactor hammer strikes again. Tests don't pass.

- Moves a lot of hashing/truncating code into one function.
- Started fleshing out the port driver stuff.
- Removed a possible insidious bug involving bucket->hash. bucket->hash
  is not necessary.