[WIP] [DONT MERGE] Update "packs" pack actions to work with the new sandboxing approach

This branch updates "packs" pack actions to work with the new pack sandboxing / virtual environment approach which is currently under development.

It includes the following changes:

1. Add new `setup_virtualenv` action - This action sets up virtualenv for the provided pack, installs base pack requirements and installs pack-specific requirements (if any)
2. Update `install` action to run `setup_virtualenv` action after the download action succeeds
3. Update `uninstall` action to remove pack virtualenv (if exists) when uninstalling a pack
4. For consistency reasons, I did some minor pack cleanup and shuffled files around

Note: Actual sandboxing is not implemented yet.
Seems like something we should move to st2common/shellutils.py