Make the library a bit more generic

The idea is making the library a bit more generic so we don't duplicate code for adding new commands (my fault) and other grunt libraries can easily use generic remote debug commands.
`launchApp` doesn't need the `ensurePortForwarded` since it's called on the `app
CommandRemote`