First part of body transfer encoding rewrite
 - Part bodies are now stored as-is, rather than encoded when added
 - Binary encoding now fully supported
Change transfer encodings to use a registration mechansim
  to allow for 7bit and 8bit
Require the master encodings module first, to allow
  the others to register when included
Update transfer encoding support
- Encodings now know their compatibilities
Fix up the requires to include the modules in heirarchy order
Add cost estimation to encodings
Rename parent class of transfer encodings from Encoding to TransferEncoding
Update encodings code
Encoding checkpoint
Update safe character list
Finish body encoding work
Add /usr to coverage exclusion list
Rename target_encoding to transport_encoding to make purpose clearer
Fixes for varous ruby implementations and versions
Better implementation of 1.8.6 compatibility
Handle binary file attachements on Ruby 1.9
Refactor to make 1.8.6 just work
Better handling of File.read encoding
Fixes to previous commit
Keep header name case
Removing bundler require from Rakefile