Fix controller response Content-Type header

The AsseticController is not setting the content type on requests which means many browsers will not render correctly (ie if a css file is transferred as text/html).

This pull request fixes #241 and replaces #243, #245 and #252 .

It's almost the same as #245 but with unit tests.