Switch to using non-backward-compatible pickles

- Allow protocol 3 under Python 3.

- Do not stori bytes as strings under Python 3.

Fixes issue #4.
Strip protocol header from pickles where protocol > 1.
Normalize out pickle sizes / offsets.
Drop the load-time equivalient of 'bytes_as_strings.
Use protocol defined in _compat.
Normalize out pickle sizes / offsets.
Normalize out pickle sizes / offsets.
Fix subprocess-based functest to run correctly under buildout.
Suppress protocol 3 pickle tests on Python2.
Fix 'get_pickle_metadata' for protocol > 1 on Python2.
Flatten imports.
Use a new magic number for protocol-3 filestorage.