Fixed tricky deepcopy bug.

Background: the definitions of PackageManager._input_to_action and
Wrangler._input_to_action previously invoked deepcopy.

OLD:

    @property
    def _input_to_action(self):
        superclass = super(PackageManager, self)
        result = superclass._input_to_action
        result = copy.deepcopy(result)
        result.update({
            'bar': self.bar,
            'foo': self.foo,
            ...
            })

This was a bad situation.

The dozen or so other _input_to_action definitions do not invoke deepcopy.
The non-deepcopy way is the correct way.

NEW:

    @property
    def _input_to_action(self):
        superclass = super(PackageManager, self)
        result = superclass._input_to_action
        result = result.copy()
        result.update({
            'bar': self.bar,
            'foo': self.foo,
            ...
            })

Why? Because the deepcopy version effectively copies over the package manager
or wrangler in question, including its session. This is completely the wrong
way to go. The only things that need to be copied in the construction of
_input_to_action are the assocations between the user input strings (like 'foo'
and 'bar') and the methods mapped to these (like self.foo and self.bar).

This commit changes PackageManager and Wrangler to use result.copy() instead of
copy.deepcopy(result). All definitions of _input_to_action now use
result.copy() instead of copy.deepcopy(result).