created bag and piece classes

@stevendiemer you said you wanted to learn more about testing. why don't
you take a crack at writing unit tests for these? Also, they'll need
some documentation to pass `make ci`.