ast/MsgNode: add "meaning" attribute
{msg}: do not allow msg or control structures within msg tags
ast/parse: add MsgPlaceholderNode
soymsg, soyhtml: support for raw text messages

- soymgs.Message and .Bundle interfaces
- bundle may be provided to soyhtml.Renderer
- {msg}s will be looked up in the bundle
- message id calculation ported from official soy
soymsg: messages with placeholders

- message ids and text now account for embedded (non-text) nodes.
- MsgNode.PlaceholderString() retrieves a string suitable for sending to translators
- soymsg.NewMessage() reads a message as it would come back from a translator
- soyhtml orders non-text nodes according to placeholders in translated message

TODO:
- HTML placeholders ({START_LINK}here{END_LINK})
- phname (user-provided placeholders)
HTML Tag placeholder support in messages.

It uses regexp rather than the HTML tokenizer due to soy's support for illegal
HTML attributes like </a phname="foo">
move setting of globals to a parse pass, to enable parsing of templates without
knowing globals in advance.
PO message extractor
Load PO files as message bundles
Add two tests that identify a bug in html/dataref placeholders
support for the {plural} tag, in the language and the PO backend.

Limitations:

- When extracting PO messages:
-- Only [1, default] plural cases are supported. If other forms are found, the
   extractor exits with an error

- When loading PO messages:
-- fallback between locales is not implemented.
-- Plural-Forms is not respected. "nplurals=2; plural=(n != 1);" is assumed.
non-English plural forms

Soy syntax uses CLDR plural classes, which are fairly incompatible with PO
plural specification. To work around that, soymsg.Bundle specifies the plural
case to use, which avoids (1) converting PO plurals to their CLDR class and (2)
calculating which CLDR plural class should be used for a given (locale, value).

Usage example:
go install github.com/robfig/soy/soymsg/pomsg/xgettext-soy
xgettext-soy testdata/features.soy > features.pot
msginit -i features.pot -o - -l sk > features.po
.. insert translations in features.po ..
update travis
update travis
update travis
Fix pomsg.getMessage()
Add recompilationCallback to soy.Bundle
xgettext-soy: write usage to stderr
soyhtml: pass msg bundle through in a {call}
Fix bug caused by > 2 equivalent placeholders.