removed unnecessary struct declaration.

I originally had the length of the string in the struct. But it wasn't
necessary.
Renamed struct block to struct blocks

Moved some definitions in and some out of the blocks.h header.
Minor refactors.

No logical changes.
Added bag.{c,h} stuff. We now implement the "Random Generator" algorithm
Fixed copyright headers.