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).
I think will refer to the object created with new Graylog2(). This object has a log method in its constructor prototype. When we add it to any instance of winston's logger, it (log method) should be called with the correct this. Note I am saying this because we use this.graylog2 in line 55. and the same this has getMessageLevel(). Anyways if we extend the default levelMap and use getMessageLevel() as before, this wouldn't be a concern. Still if u have any extra information?