Fixed pickling of ProtoRPC Messages that have EnumFields or repeated fields.

Enums couldn't be pickled because they use __slots__. FieldLists couldn't be
pickled because they maintain a reference to the field which, in turn, has a
weakref to the message.
ProtoRPC: Fixed calling Message.reset() method on repeated fields.

The Message class expects unassigned repeated fields to be initialized to an
empty FieldList instance. Calling reset() is actually removing the FieldList.

This change causes a repeated field to be replaced with a new, empty FieldList
instance when reset() is called.
Fix handling empty enum values in protorpc package.

Previously if an empty string was passed as a value, the protorpc package
raised an IndexError exception instead of properly raising
messages.DecodeError(..).
Remove unnecessary urllib2 import from definition.py.
Fix a failing test.

I don't know when this started failing (and haven't tried to trace it
through), but what was once a `gaierror` has become just `ECONNREFUSED`. This
updates the test, but I don't know if it's worth digging to find the cause.
Fix a bug in protorpc. This is possibly a breaking change.

Previously, when creating a TimeZoneOffset from a datetime.timedelta, protorpc
would use the total number of seconds for computing the offset. However, all
the docs and code consuming this offset were expecting it to be calculated
in *minutes*, not seconds.

I don't know if this will wreak havoc on someone in the wild who was already
working around this.
Remove references to `datetime.timedelta.total_seconds()`.

This is "make protorpc py2.6-friendly", part 1.
Drop some python 2.7-isms in tests.

This is "make protorpc py2.6-friendly", part 2. (The rest are in config/setup
stuff, not code.)