Actions() schema getter added to Charm interface.

BZR commit history for this change has been lost, but types that
implement Charm now must also implement an Actions() method.  This
method should typically retrieve the charm.Actions value from the type.

The Actions is also now stored in, and properly retrieved from the Charm
documents in State.
charm.ReadActionsYaml now uses a transform rather than in-place map editor to strip map[interface{}]interface{} values into usable map[string]interface{}s.  A few tests have been added and other minor fixes applied.
Added better test cases for map[interface{}] cleaner.
New cleanse function replaces all functionality of previous recursion.
Removed some spurious tests from charm/charm_test.go
Merge pull request #42 from binary132/charm-interface-actions-fixes

Changes:
 - charm/actions.go stripBadInterfaces now simplified into a "cleanse" function.
 - Better tests added for cleanse.
 - A few excess tests removed from charm_test.go.