Lock Grunt to 0.4.1

"~0.4.1" was using a recently released 0.4.3, which introduced a
breaking change where tasks were executed asynchronously. This caused
tests to fail because assertions were executed before tasks finished
doing their thing.