Add plugin shell.

It symlinks / copies plugin's assests to app's webroot.
Rename SymlinkAssetsTask to AssetsTask.
Skip plugins which do not have webroot.
Improve error handling and output messages display.
Fix docblock
Fix tests for other shells failing due to new PluginShell addition.
Split code info helper methods.
Remove interactive mode.
Fix typos
Merge PluginShell and AssetsTask into PluginAssetsShell.
Test for case when directory for plugin assets already exists.
Fix tests.
Switch needle and haystack args.
Try to fix test on windows.
Fix CS errors.
fix falling test on windows

all tests are now passing locally for me
Try fixing test on Appveyor
Fix coding standards ignore tags.
Skip PluginAssetsShell tests on windows.

It causes side effects for UrlHelper tests on AppVeyor.
Merge pull request #4976 from ADmad/3.0-plugin-assets-symlink

3.0 - Add plugin shell.