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.
is this some improvement to the promise stuff? can you comment on this a bit more?