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.
I'd prefer to leave them split up. The api is quite a few lines of code and keeping the versions separate will simplify reasoning about the code later on.