Clarified console messages, better support for empty files

Removed redundant messages, better error handling (now you see what caused the error), Less errors with empty files (better support for the "watch" feature of grunt, as now you can create a file without it causing an error before you're able to put contents to it)

Handling of the empty files may need to be improved from my approach ```{{!}}``` may not be a valid way to do this in all engines.

These features can be tested against my repo. I am running this modified version of assemble on it without any errors.