Create the scaffold for the new charmstore v4 api

This branch creates the scaffold for the new charmstore v4 api and injects it into the app. It also adds the `getIconPath` method and swaps the v3 version for it. At the time of writing the current jujucharms backend has issues with returning some of the icons so this branch cannot land until those fixes are made.
the only way this would be possible is if someone removed it from the config files. In the tests it's not strictly necessary so throwing an error would just clutter up the console. Thoughts?