Init a SlotMachine with its slots

So we can initialize each slot machine when we start our potato.
Allow SlotMachine to take a hashing function

When two slotMachines have the same number of slots, any string that
hashes to slot 2 in machine 1 will hash to slot 2 in machine 2. In the
current case, this means that mouth 2 will always show up with nose 2.

Adding an option to override the default hashing function allows us to
prevent this issue.
Use different hashing function for the mouth machine

So mouths and noses aren't always paired together
Extract hashing functions into module

So that we can better name them.
Add some more hashing functions
Merge pull request #20 from adorableio/flexible_slotting

Flexible Slotting