Put control of served assets in the hands of Grunt, not Git

There was some stuff in public/ which was only in there because it was being tracked by Git. Ideally this should be copied into public from the source instead.

Also makes sure that Grunt isn't trying to read a directory before files (may or may not) have been copied into it.