Newline elision fixes and enhancements.

- Fixed newline elide modifier for variable substitutions.
- Added support for newline-eater "{%>%}" statement. As part of this
  change, empty control statements are now allowed, including statements
  that consist of only a -- comment. A newline-eater may also be
  commented.
- Removed switch case for END_TOKEN in TemplateParser::parse_stmt()
  since that token will never be seen when not using a TokenIterator.
- Added unit test suite with empty and comment-only statements and
  newline elide operators, plus some other comment-related test cases.
- Updated documentation in README.rst.

Signed-off-by: Chris Reed <flit@me.com>
Removed docs from cpptempl.h.

- The documentation at the top of cpptempl.h was getting too long, so
  it has been replaced with the same copyright and license header
  comment in the .cpp file.

Signed-off-by: Chris Reed <flit@me.com>