partial fix to grind compile issue

 * shell out to polymer builder instead of running the code in our process. they have a disturbing tendency to use up all our file handles
 * when runCommandSync() fails, fail the build
 * avoid changing the cwd when possible
 * change the one use of async to sync (an sync inline call to polymer becomes a sync process exec call)

@dinhviethoa