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.
a thought: shouldn't we integrate these checks for name validity at *every* level of the m[i]i->m[s]i checking?