Added basic i18n framework that loads all messages files with a locale extension
using goconfig

What's been added:

- Message files-specific directory (/messages from the Revel base path)
- Recursive messages files loading; a config.Config instance mapped to
   each locale
- Basic API:
	* MessageLocales() to get the currently loaded locales
	* GetMessage(locale, name) to retrieve a message with the given  name from
	  the given locale

What's still missing:

- Messages with message arguments (e.g. GetMessage(locale, name, args...))
- Same-locale message file merging

  Currently, an error is generated when there is more than 1 file for a same
  locale. This is a goconfig limitation. If we keep goconfig, this should be
  added there; something like config.Config.Merge(*config.Config).

- View-scoped GetMessage() hook
- Default date formats and other date-related stuff
- CLI tools for checking messages files

  Some ideas:
    - Generate a messages files coverage report (missing messages, etc.)
    - Malformed message files (malformed locales, non-UTF8 encodings, etc.)
    - ...
Merge remote-tracking branch 'upstream/master' into i18n
Added support for messages with variable arguments

- Refactored GetMessage(locale, name) to Message(locale, name, args...)
- Refactored/expanded tests for Message
Fixed Message() benchmark accuracy and verbosity
Added test case and benchmark for Message() with folding and arguments
Fixed discarding logger initialization being part of the benchmark
Added support for regions in locales given to Message()

For instance it's now possible to pass a full locale (language-REGION) to
the Message() function. When the given region was not found or the message
does not exist for the given region, an attempt is made to find it in the
DEFAULT section.
Integrated goconfig support for config file merging

From now on, this version depends on the merge-capable version
of goconfig.
Merge remote-tracking branch 'upstream/master' into i18n
Added Accept-Language HTTP header parsing to Request
Merge remote-tracking branch 'upstream/master' into i18n
Added Accept-Language HTTP request header parsing

For each request the Accept-Language HTTP header is now parsed. The wrapping
Revel contains a "AcceptLanguages" field that contains the sorted slice of
all Accept-Language values if there were any. The first language in the slice
is the most qualified.

If the Accept-Language HTTP header was not set or contained no value, the
value of the AcceptLanguages field is set to nil.
Fixed AcceptLanguages field name
Merge remote-tracking branch 'upstream/master' into i18n
Added basic i18n plugin
Merge remote-tracking branch 'upstream/master' into i18n
Merge remote-tracking branch 'upstream/master' into i18n
Added basic i18n plugin and various small fixes here and there
Added i18n plugin tests
Fixed comment(s)