19265 - Update vendored JSON for CVE-2013-0269

Update the vendored JSON gem to 1.5.5 for CVE-2013-0269
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
maint: fix test failure
19265 - Update vendored JSON for CVE-2013-0269

Update Rakefile and release notes
19265 - Update vendored JSON for CVE-2013-0269

Update default config files for ActiveMQ connector instead
of removed stomp one.
Doc: note on data Vs. discovery plugins
maint: Various minor documentation updates
19181 - In the rpc app discovery should happen after validation

The RPC application has various different modes of behaviour like
receiving JSON in, reading txt files for node lists or just simply
forcing verbose discovery.

We therefore need to do a specific discover before calling the remote
agents which has the undesired side effect of taking 2 or 3 seconds
before you get an error message if you supplied incorrect arguemnts on
the CLI.

This commit adds a specific validation call before doing any discovery,
the validation will cause early errors if any
maint: it is not 2012 anymore, fix log entries
19146 - deprecate the 'stomp' connector in 2.2.x

Update documentation to favour the ActiveMQ connector and add a note
about the deprecation of the Stomp connector
19366 - error code collision on PLMC18 in ddl/base.rb

There was an inadvertant error code collision that resulted in a failure
when trying to interopolate the data.

Ideally we'd somehow test for this - no idea how to go about it though.

We could in theory on interprolation failure always retry once using
the default supplied arguments but this would lead to further confusion
as we would not know what code to show the user then, it's better to
just fail
maint: various small updates to getting started and configuration docs