Move ABORTBUNDLEHEAP into EvalContext
Replace HardClass -> EvalContextHeapAddHard
Remove AddEphemeralClasses
Remove IsSoftClass
Extract Writer parameter in SaveClassEnvironment
Remove IsTimeClass
Privatize AddAllClasses to logging
Privatize DeleteAllClasses to logging
Add StringSetFromString
Merge github.com:cfengine/core
Set/MapDestroy needs free semantics
Remove NewClassesFromString, introduce GenericAgentConfigApply
Remove NegateClassesFromString, use GenericAgentConfigApply
Splitting of cf-key

Functionality is moved to libpromises to make it easier for testing.
Only main and getopts will remain in cf-key.c
I added the skeleton of a test unit so we can start populating it
with real tests :-)
Merge pull request #408 from cduclos/cf-key-split

Cf key split
Remove NewClass, use EvalContextHeapAddSoft
Rename NewPersistentContext -> EvalContextHeapPersistentSave
Rename LoadPersistentContext -> EvalContextHeapPersistentLoadAll
Rename DeletePersistentContext -> EvalContextHeapPersistentRemove
Fix copy-paste bugs introduced by previous commits