PLAT-170 moving WikiaLogger to lib/wikia

Our logging functionality is core to the functioning of the platform. As
such it shouldn't be loaded as an extension but a library. This commit
moves the WikiaLogger to lib/wikia.

As part of this move, I'm also moving Monolog and Psr to composer so we
don't have to handle the autoloading.

/cc @nmonterroso
Adding lib/composer/README.

Just so everyone knows what's happening with this directory.

/cc @nmonterroso @owend @jnrbsn
Move lib/wikia -> lib/Wikia to match the namespace.
Adding autoloader.php & fixing WikiaLogger naming.

Added autoloader.php to lib/Wikia. From now on, anything properly
namespaced under lib/Wikia will be automatically loaded. The WikiaLogger
will be used as the guinea pig.

The Wikia/autoloader.php has also been added to DefaultSettings.
Document the lib/Wikia changes to DefaultSettings

Added comments about PSR-4 and lib/Wikia, composer, and the load
order.
WikiaLogger cleanup: moved hook to own class

The WikiaLogger class included a hook function for loading some JS on
the page to handle 'onerror'. This commit moves that code to it's own
class and adds the hook in DefaultSettings.php along with the other
'WikiaSkinTopScripts' hooks.
Merge branch 'dev' into PLAT-170
Moved PHP files to lib/Wikia/src.

Moving lib/Wikia to lib/Wikia/src so that we can have source files and
PHP alongside each other. The tests will reside in lib/Wikia/tests.
Adding lib/Wikia/tests & an ex. with WikiaLogger.

Added lib/Wikia/tests and an example with WikiaLogger. I also refactored
WikiaLogger slightly to remove the ident and reduce the instances to a
scalar. It simplifies things slightly and I don't think there will ever
be more than one instance at any given time.

I also made the loading of the Logger lazy. This should make testing
easier.
Move ES log toggling from global to class property.

Moved ES log toggling from global variable ($wgDevESLog) to class
property on the formatter. As part of the move, added DevModeFormatterInterface to
facilitate the toggling. Now, in order to use ES/logstash in dev, you
need to toggle the formatter and enable dev mode.

  \Wikia\Logger\WikiaLogger::instance()->getSyslogHandler()
    ->setModeLogstashFormat()->disableDevMode();

I also moved the setup of the error handler and the toggling of dev mode
to Wikia\Logger\Hooks. This isn't quite right because it means that some
messages will be logged locally in production until this hook is loaded.
It's a placeholder for now.
Adding WikiaLogger convenience methods for modes.

We currently have three logging modes:
 * production instance()->setProductionMode()
 * dev instance()->setDevMode()
 * dev with logstash/ES instance()->setDevModeWithES()
Simplify the interface.

We don't need devmode on the LineFormatter.
Use the convenience method to set production mode.
Fix the formatting in phpunit.xml.
Make production mode the default in WikiaLogger.

/cc @nmonterroso @owend
Add WikiaLogger::onWikiFactoryExecute hook.

Added WikiaLogger::onWikiFactoryExecute hook for early WikiaLogger
initialization in dev mode.

/cc @nmonterroso @owend
Merge pull request #3674 from Wikia/wikialogger-to-lib

Move WikiaLogger from extensions to lib/Wikia & remove global state