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.
See the other comment about complexity and code volume in the file.