THRIFT-2693 Erlang test leaves a lot of generated files

Patch: Roger Meier
THRIFT-2701 Update TCompactProtocol.php
Client: PHP
Patch: GitHub-User anjz <anartzn@gmail.com>

This closes #212

Removed `strrev` from `readDouble` and `writeDouble` functions. I found problems reading a double that was generated with the python library.
THRIFT-2662: py - Fix incorrect indentation when oneway function is used

Client: Python-Compiler
Patch: Dustin Spicuzza

fixes python generator when py:tornado option is enabled

This closes #186
THRIFT-2664: py - fixed errors on calling oneway functions

Client: Python-Compiler
Patch: Dustin Spicuzza

'recv_' method is resolved later, thus disregarding exceptions send from
oneway methods calls

This closes #188
THRIFT-2663: py - per module logger used in python lib

Client: Python-Library
Patch: Dustin Spicuzza

This enables per module log message filtering

This closes #187
libgenerate extracted from thrift executable so compiler specific unit tests can be added
compiler: IndentKeeper extracted from t_generator

* tests added for IndentKeeper
* t_generator movd a little bit towards meeting SRP
* IndentKeeper can be reused by lower level generator
     (like MethodGenerator)
compiler: IndentGuard added

will simplify operating on indents
compiler: ScopeGuard added
compiler: C++ generator refactoring started - operator<< generation made more 'clean'
compiler: OutputGenerator added

wraps output stream and keeps indent and stream to indent in one place
compiler: some Makefiles split

more towards single library/target - single Makefile
compiler - cpp11: HeaderFileGenerator added
compiler - cpp11: EnumGenerator added
compiler - cpp11: FieldGenerator added
compiler - cpp11: IncludesScanner extracted from FieldsGenerator
compiler - parse objects extracted to separate library
compiler - cpp11: IncludesGenerator extracted

FieldsGenerator getting lightier
compiler - cpp11: TypeGenerator extracted from FieldsGenerator
compiler - cpp11: FieldGenerator complete

for now