Fix problem in MONTHNUM and add DATESTAMP_EVENTLOG pattern and 

Whilst trying to get Windows Event Log data into logstash I had some problems with the the timestamp format Windows uses.

Taking an example value (the TimeGenerated field provided by the eventlog input):

20131218141650.687853-000

And using:

%{YEAR}%{MONTHNUM}%{MONTHDAY}%{HOUR}%{MINUTE}%{SECOND}

I get a %{MONTHNUM} value of 1, but it should be 12. This is because the MONTHNUM pattern allows for single digit month values. I created a new pattern which removed this flexibility:

MONTHNUM2 (?:0[1-9]|1[0-2])

This, along with the pattern below works as I would expect:

DATESTAMP_EVENTLOG %{YEAR}%{MONTHNUM2}%{MONTHDAY}%{HOUR}%{MINUTE}%{SECOND}

I'm sure there's a better way of implementing this but I think this is a genuine problem.
Moved 'success' message into the begin block so it doesn't get printed if there's an error
Fixes exception when not specifying yamlmibdir

Fixes 'undefined method `empty?` for nil:NilClass exception
Add a RFC2822 compliant date pattern

The pattern is defined in RFC2822 and differs from the one defined in
RFC822:
 http://www.ietf.org/rfc/rfc2822.txt

Example:
 Mon, 20 Jan 2014 18:40:18 +0100
on broken pipes - ie program exit, EBADF can will be used instead of EPIPE. This commit will allow pipe command to be restarted.
Merge pull request #1 from ronnocol/patch-1

Update pipe.rb output - Fix LOGSTASH-1860
Update java

Added support for an "_" in the JAVACLASS and added support for a space in the JAVAFILE expression.

Examples are: "at org.jnp.server.NamingServer_Stub.lookup(Unknown Source)"

This example would have failed without the update.
Add some patterns I found useful in parsing mongo logs.
Fix syntax errors in kv examples

Fix syntax errors in examples for the include_keys, exclude_keys and default_keys config values.
Prefix patterns with MONGO_
Merge pull request #1094 from untergeek/es-1.0-template

ES 1.0 template
Remove extra "mail" dependency in logstash.gemspec
Add rescue blocak to bundle install loop in gembag.rb
Merge pull request #1096 from mrsolo/gemfixes

Install cleanups
Add Multi-threaded workers and queues to UDP input
Added config item for queue_size
Updated to streamline multithreaded UDP
Improve documentation of settings.
Merge pull request #1098 from untergeek/udp-untergeek

UDP input plugin tweaks
brief description input/output codecs
Implement `protocol => http` in elasticsearch output

Also add `action` setting to allow logstash to signal document
deletions, updates, etc. The goal is to support any bulk request with
this output plugin, but the early target is simply to allow deletes.

This is one step in the path to having only one elasticsearch output
plugin and eventually removing elasticsearch_http.

The following tests pass
    % bin/logstash rspec spec/outputs/elasticsearch.rb
    ...
    Finished in 1 minute 33.94 seconds
    3 examples, 0 failures

Tested manually 'elasticsearch { protocol => http }' with success.

Still to be implemented:
* template management
* tests to cover all protocols: node, transport, and http
* mark elasticsearch_http as deprecated?