Some functional goodies for Otter

- depend on pyrsistent
- add freeze and unfreeze functions to otter.util.fp
  (to be contributed to pyrsistent)
- add "partition_bool" and "partition_group" functions to otter.util.fp
  (to be used by convergence)
Merge pull request #701 from rackerlabs/otter-is-functional

Some functional goodies for Otter, for use in convergence