3.0 - Add plugin shell.

It symlinks / copies plugin's assets to app's webroot. Thought this might be handy to use in deployment tasks.

One issue I am having is with plugins with vendor namespace. The task first creates directory for vendor name and then proceeds to create symlink for the plugin's webroot inside it, but it fails resulting in folder being copied instead. 

If the directory for vendor name exists beforehand the symlink is created without problem. So for some reason php doesn't seem to realize the directory exists when it's created by the script itself. Using clearstatcache() doesn't help.
Would be useful to have the option to ignore/delete existing conflicting files/links - especially if the copy mode has been used - otherwise you can't update/correct existing files.

As @lorenzo also mentioned it'd be a good idea to move the body of this foreach loop to a separate function.