i18n: Add locale object

It provides the following features:

  * Loads translation messages from .po file.
  * Translates a message into the locale.
i18n: Add i18n supported text

It provides the following features:

  * Extracts translation messages from wrapped raw text.
  * Translates wrapped raw text in specified locale.
i18n: Add pot formatter

The following options are added:

  * --locale
  * --locale-data-dir

You can generate .pot (PO Template) file by the following command:

    % rdoc --format pot

You can find .pot at doc/rdoc.pot.

You can create .po from .pot by msginit provided by GNU gettext. Here
is an example command line to generate .po for Japanese:

    % mkdir -p locale/ja
    % msginit --input doc/rdoc.pot --output-file locale/ja/rdoc.po --locale ja

You can also use rmsginit provided by gettext gem instead of msginit:

    % mkdir -p locale/ja
    % rmsginit --input doc/rdoc.pot --output locale/ja/rdoc.po --locale ja

rmsginit is implemented by pure Ruby. So it is more portable for
Rubyists.

.po should put locale/ja/rdoc.po or locale/ja.po. If there are both
files, the former is used.
i18n: Support translation by .po

You can translate RDoc documentation by locale/#{LOCALE}/rdoc.po. For
example, locale/ja/rdoc.po is for ja locale.

If you have locale/ja/rdoc.po, you can generate documentation in
Japanese by the following command:

    % rdoc --locale ja
i18n: Remove needless with_line

It breaks Ruby 1.8 support.
i18n: Sort PO entries to use stable expected value

Ruby 1.8's Hash doesn't have order.
i18n: Extract MessageExtractor to another file
i18n: Extract PO to another file
i18n: Extract POEntry to another file
i18n: Describe how to translate in document of RDoc::Generator::POT
Merge pull request #254 from kou/i18n

Add i18n feature