Introduce bloom.Builder.

This change separates the old Filter type into two types for a client
(usually a wallet) and a bitcoin server.  These types are Builder and
Filter (for the client and server, respectively).  Builder is used by
a client to create a filterload message to send to a bitcoin full
node.  When this message has been received, the filter can be loaded
(using bloom.FilterLoad) to create the Filter structure.  Data can not
be matched directly against the Builder, and unlike Filter, it is not
safe for concurrent access.
Oh come on :) That's not even my change...