Support for more comprehensive harvesting mode vs binary safe-mode.

https://bugs.launchpad.net/juju-core/+bug/1345553
Yeah naming was a bit of a mess in here; sorry about that. Things should be much cleaner/cohesive now.