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.
Improve test_corebag_iterator test to ensure non-duplicate iterator
Add Bag (.unordered, .unordered_cells) and .singleton constructor
Performance enhancements: don't use __iter__ unnecessarily
Merge pull request #30 from pwaller/improvements

Performance improvements to avoid using __iter__