client: allow send_pack callers to override how packs are emitted

Sometimes, a client will already have a pack computed for the
(have, want) negotiated with the server. Rather than re-compute the
pack each time, we could instead allow the send_pack caller to handle
writing pack data themselves.

This patch leaves much of the send_pack structure intact by using
write_pack_objects as the default write strategy.
Merge branch 'python2.6'

* python2.6:
  Add NEWS entry.
  Spelling Fix.
  Don't use ConfigParser(allow_no_value=True) as it's not supported on Python2.6
  Add unittest2 to tests_require on python2.6
  Fix version check.
  Fix travis on python2.6
  Reintroduce Python2.6 support.