19146 - deprecate the 'stomp' connector in 2.2.x

The stomp connector cannot fully support direct addressing so ActiveMQ
and RabbitMQ specific connectors were added to fully support it on those
brokers.

The stomp connector thus does not really have a place anymore. Version
2.2.3 deprecated it and so we can now remove it for future production
releases
19141 - mco plugin package fails to build packages in 2.2.2

In the past the code generating the dependencies in the debian control
file was overly complicatd and prone to error.

This commit cleans up the dependency generation in the debian control
file, simplifying it and making it less prone to error.
maint: update changelog
19200 - Packager fails on Debian if plugin name includes an underscore

In the past creating packages on Debian would fail if the plugin name,
defined in the ddl, contained an underscore.

Underscores are now replaced with '-'.
19200 - Packager fails on Debian if plugin name includes an underscore

changelog update
18663 - should be internationalized

Vendor the i18n gem at version 0.6.1 and update the gem spec to exclude
the vendored files and include the new dependency as a gem dependency
18663 - should be internationalized

Add basic i18n support to the logging system, locale information is
stored in $lib/mcollective/locales/en.yml - this location is not yet
configurable and we do not yet support setting your own locale.

At present the logging system supports logging standard messages:

   Log.logmsg(:PLMC1, "default message", :info, :version => "1.2.3", :name => $0)

This will parse a message from the local database that looks like:

   PLMC1.pattern: Started mcollective %{version} by ${name}

The locale database also support PLMC1.example and PLMC1.expanded which
would hold a sample error message and expanded text showing the
background for this message.

Logging of exceptions has been standardized:

  Log.logexception(:PLMC2, :error, :e => exception, :other => "data")

This will log the message in PLMC2 while interprolating %{error} into
the resulting text, other data will also be passed into the string

An application was added to support showing details on the error
messages and eventually the whole 'mco plugin doc *' functionality will
move into this application

   mco doc PLMC1

There is a new exception class called CodedError that can contain the
code for a error and supports logging itself using the log method on the
exception class.

We use this to ensure that all exceptions are logged when they get
raised and to provide some consistant UI around reporting of our own
errors.  Some classes have been updated to raise this directly while
others like the DDL one provide a helper to raise DDLValidationError
exceptions - which are now a subclass of CodedError

The runner and application plugins both understand the CodedError
classes and will show errors about them in a useful way.

A utility module - Translatable - has been added that can be used as a
mixin to log lines and exceptions

This commit updates a sprinkling of classes throughout to use messages,
by no means a exhaustive update more aimed to cover the major use cases,
we'll firm that up over time