add ->has_encoding & ->is_encoded_content to files

This is a followup to #254.  In this version, `has_encoding` acts as a normal Moose predicate (except for `FromCode` files, where it always returns true because the encoding attribute is read-only).  The new method `is_encoded_content` indicates whether the "canonical" version is `encoded_content` or `content`.

If you're happy with this, I'll write up some docs.

The idea is that an EncodingProvider can use `has_encoding` to determine whether it's possible to set the encoding, and then use `is_encoded_content` to decide whether it can examine the file to determine an encoding.