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.

Several changes have been made and tests added to address concerns from mgz:
 - charm/actions.go stripBadInterfaces has been modified to a transform rather than an in-place map cleaner.
 - tests have been added for charm/actions.go stripBadInterfaces.
this is an *awful* lot of code -- nearly 100 lines, including comments -- that I feel ought to be expressible in the schema package; but I'm not sure it is (at least not without modifications) so let it stand for now.