Big performance improvement: change __eq__ to use direct equality

Now that bags are internally represented as sets, it's not necessary
to construct sets any more and a direct equality can be made.
Bag: add .as_list() and .pprint()
Improve test_corebag_iterator test to ensure non-duplicate iterator
Add Bag (.unordered, .unordered_cells) and .singleton constructor
Apply filter() lambda to the cell, rather than the bag
Performance enhancements: don't use __iter__ unnecessarily
Bag: add same_row/same_col(singleton_bag)
Bugfix for as_list: delete values from col_indices only once
Add Bag.extrude(x, y) to select cells including those in bag in a direction
test_pprint: Add Bag.pprint / as_list / extrude tests
Document bag.extrude()
tests: Memoize fixture loading (so that it doesn't happen once per suite)
Delete accidentally duplicated test
Move same_(row|col) to Bag, minor typographical improvements
Merge pull request #30 from pwaller/improvements

Performance improvements to avoid using __iter__
Merge pull request #32 from pwaller/fixture-memoize

tests: Memoize fixture loading (so that it doesn't happen once per suite)
Include whole of tabulate module in xypath/extern
Merge pull request #29 from pwaller/pprint

Add pretty printing to bags.
Merge pull request #31 from pwaller/filter-xycell

Apply filter() lambda to the cell, rather than the bag
fix for new messytables