Make the uploader work in an Archetypes-free site

In a Plone site without Archetypes (= using plone.app.contenttypes), there is no archetype_tool. This patch therefore checks for the existence of this tool, before attempting to gather file type information on it.

Also, since dexterity types don't have the `getCharset` method, and the Plone default is now utf-8, don't rely on the existence of this method, but fall back to "utf-8" if not present.