m2e support

A few modifications are necessary to make frontend-maven-plugin run nicely with m2e, so it's more useful when you're using Eclipse.

I've changed the gulp and grunt goals to check for modified files, if you provide a srcdir configuration property. If nothing is modified then those tasks don't run. I've modified the npm task to check whether package.json has been modified.

None of this should affect how it runs from the command-line. However in Eclipse using m2e it will no longer show lifecycle errors, and should work really nicely!

The only thing that's really necessary to make it work properly in Eclipse is for the srcdir (at least) to be set on the grunt/gulp tasks.

I'm happy to update the README and example or to create a new example for Eclipse usage.
@eirslett I've added an NPE check for buildContext everywhere it is used. Good idea.