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 charmstore api is still versioned so we want to make sure that we move to v4 but leave a path to v5 and such. I'm tempted to see if we either use an argument or name the class per the api version.