basictypes: make "Bits" work with sets too.

We also have an important semantic change. Previously `a & [1,2]`
required that both bit 1 and 2 to be set to be true. This is somewhat
different of the regular semantic that says that any of them need to
be set. We change this.

Let's hope this won't disrupt too many people who rely on the previous
behavior. It seems better to make the change and keep a clean semantic.

Also, internally, `Bits` class is now using sets.
basictypes: allow to override fmt for testing purposes

This is easier to test for formatting when we can override
format. Mocking a read-only property is inconvenient, so we move this
property outside the entity object.
basictypes: implement ability to compare displayed strings

When a string or an integer has a format, we add the possibility to
compare those objects with the help of the format. The comparison is
limited to integers and strings and only for equality and
inequality. This is a bit hacky.
manager: use "public" as a default community

Otherwise, we get some cryptic message about being unable to serialize
stuff.
py26: compatibility with Python 2.6 for sets

The set notation (`{}`) was introduced for Python 2.7. Do not use it.