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 its probably easier to simply declare the getMessageLevel function as we had earlier, is there a specific reason for moving into a "private" function that returns anothe function?