Added support for custom level mapping.

User can provide a levelMap object in options object passed to the contructor(exported as Graylog2). This will be used to map winston levels to graylog2 levels, instead of the default mapper. If a level has no mapping then it will be mapped to level 'info' (same as before).
In line 45, I call the private fn with the custom levelMap, the intention was to sure the returned fn(getMessageLevel) has a closure over the custom levelMap passed as opposed to the default levelMap. simply declare the getMessageLevel would mean Either I have to pass the custom levelMap to getMessageLevel or I have to extend the default levelMap. Extending the default levelMap I had not considered. I suppose extending the default is the way to go as you suggested.