Introduction of TransactionTracer

TransactionTracer is designed to keep track of request metadata and most important metrics that influenced its performance in the most significant way.

@Wikia/platform-team Please review (I recreated the pull request to make a clean start as I added a bunch of changes)

Coming soon (in separate pull requests):
* log key attributes along with profilers data
* log key attributes along with RUM metrics
I think it's fine that there are exceptions. What I'm seeing, through the complicated ternaries, is a desire to make the code more expressible and less verbose. One way to do that would be through encapsulation in a separate function that encoded the common logic another way would be to rewrite it. 

The function above should handle the simple cases. In the case [provided](https://github.com/Wikia/app/pull/4007/files#diff-f8d94fd56dab7cc45cdf9c79e833dc41R273), how about something like:

```PHP
$isCategorySimple = ( $wikitextSize < 3000 && $htmlSize < 5000 && $expFuncCount == 0 && $nodeCount < 100 );                                                                                                                                                                                                                                                                                                                           
$isCategoryAverage = ( $wikitextSize < 30000 && $htmlSize < 50000 && $expFuncCount <= 4 && $nodeCount < 3000 );                                                                                                                                                                                                                                                                                                                       
$categorySize = null;                                                                                                                                                                                                                                                                                                                                                                                                                 
                                                                                                                                                                                                                                                                                                                                                                                                                                      
if ( $isCategorySimple ) {                                                                                                                                                                                                                                                                                                                                                                                                            
  $categorySize = TransactionTracer::SIZE_CATEGORY_SIMPLE;                                                                                                                                                                                                                                                                                                                                                                            
} elseif ( $isCategoryAverage ) {                                                                                                                                                                                                                                                                                                                                                                                                     
  $categorySize = TransactionTracer::SIZE_CATEGORY_AVERAGE;                                                                                                                                                                                                                                                                                                                                                                           
} else {                                                                                                                                                                                                                                                                                                                                                                                                                              
  $categorySize = TransactionTracer::SIZE_CATEGORY_COMPLEX;                                                                                                                                                                                                                                                                                                                                                                           
}                                                                                                                                                                                                                                                                                                                                                                                                                                     
                                                                                                                                                                                                                                                                                                                                                                                                                                      
TransactionTracer::setAttribute( TransactionTracer::PARAM_SIZE_CATEGORY, $categorySize ); 
```

As more usage emerges there might be more opportunities for consolidation.