Re-organise grunt tasks to support more scenarios (live API, testing against dist, etc)