Add tests for encoding aware DirectiveProcessor

This is a cherry-picked commit from Lewis Marshall.
The following was his original commit message:

Make the DirectiveProcessor encoding aware

In Ruby 1.9, the directive_processor.rb source file defaults to US-ASCII
as it doesn't contain a magic comment, meaning the String initialised in
@result gets a US-ASCII encoding.

This means that when content is concatenated onto @result (e.g. in
process_source), Ruby will maintain the US-ASCII encoding, provided the
content being concatenated contains no non-ascii chars.

The changes in this commit force the encoding of the resulting string to
be that of the body, because conceptually that is the string we are
"concatenating" with.

Conflicts:
	lib/sprockets/directive_processor.rb