fix
D1422343 ("make `folly::Formatter` extendible") for clang
Summary:
This is
D1422343, but with a one-line change to make it clang-compatible. I authored this diff by first copying the original, then updating, so it's easy to see what I had to change.
> on advice of @tudorb, move most of `folly::Formatter` into `folly::BaseFormatter` so that we can use compile-time polymorphism to provide different types of Formatters.
Test Plan:
```
fbmake clean
fbconfig -r thrift folly cold_storage && fbmake dbg && fbmake runtests
fbmake clean
fbconfig -r hphp --clang && fbmake dbgo && fbmake runtests
```
Reviewed By: tudorb@fb.com, pt@fb.com
Subscribers: mathieubaudet, tudorb
FB internal diff:
D1440310
Tasks:
4624268,
4667712