Add :force_encoding support to WebsiteAgent.
Ignore force_encoding if empty.
Add regexp matching support to EventFormattingAgent.

A new setting key `matchers` is added to define regular expression
matching against contents of events and expand the match data for use
in `instructions` setting.
Add specs for :matchers validation.
Adjust the style to the project's taste after a review.
Add a missing assertion.
Add a setting for using locally installed Graphviz for generating diagrams.

The Google Charts service is only capable of rendering a limited range
of characters, so if you name your agents in an exotic language
generated diagrams are virtually useless being unable to make out.

With this change, Huginn embeds a locally generated SVG diagram instead
of relying on a third-party API if ENV['USE_GRAPHVIZ_DOT'] is set to a
command name/path of dot(1).

While at it:
- Use URI to compose a URL instead of hand-crafting it.
- Make the dot renderer a helper method.