Close two templates on >>

Summary:
The skipTemplateSpec function doesn't recognize >> as closing
two templates; instead, it hapily munches on for a long time. Fixed
this.

Test Plan:
built flint, ran it onadmarket/adpublisher/AdPopulatorTask.cpp,
it no longer produces incomprehensible garbage spew.

Reviewed By: markisaa@fb.com

Subscribers: antonl, sdwilsh, louisk

FB internal diff: D1371829

Tasks: 4477862
Fix single-arg "explicit constexpr" constructor warning

Summary:
The presence of "constexpr" between "explicit" and the class name was
confusing flint. The C++ linter didn't have this bug since it bailed
entirely as soon as it encountered "explicit". Just skip the constexpr
keyword if we encounter it.

I added the test to the C++ codebase as well, for giggles.

Test Plan: new test

Reviewed By: njormrod@fb.com

Subscribers: louisk

FB internal diff: D1389912
Allow /* may throw */ before constructor

Summary:
Allows a /* may throw */ specification before the constructor, as well
as after.

Currently accepted: Foo(Foo&&) /* may throw */ {}
Also accepted with this diff: /* may throw */ Foo(Foo&&) {}

Test Plan: Unit test added.

Reviewed By: marcelo.juchem@fb.com

Subscribers: louisk, andreig

FB internal diff: D1400173

Tasks: 4403987
flint-cxx crashes on #warning

Summary: This fixes https://github.com/facebook/flint/issues/7

Test Plan: tested as indicated in the report

Reviewed By: andrewjcg@fb.com

FB internal diff: D1401151

Tasks: 3857775