Refactor project and platform services

We need this refactoring in order to reuse code for `iOSProjectService`
Actually I can't :smile: because it's obligatory to call `npm.load` before whaterver npm function. So I can't call npm.cache before the `tryExecuteAction` is called :)