Refactor deserialize method, autoserialized decorator

 - deserialize: Now uses a single bitstring.unpack call to avoid
   making lots of expensive BitStream.read() calls.
 - autoserialized: Removed.  Now, serializers are registered based
   on their name (first constructor arg) and should be referenced by
   that string.  This should hopefully make the following easier:
   1) Multiple serializers.  Instead of importing multiple serializers
    just pass a string around.
   2) Better defaults.  To use a global serializer, decorate a class
    like so:

    @serialized
    class Foo(object):
        pass

   And to use a specific serializer:

    @serialized('my-special-serializer')
    class Foo(object):
        pass

Closes #2