Convert Salvage to a child skill.
A whole bunch of more work to convert Salvage to a child skill
Minor cleanup of imports
Add changelog entry for Salvage child skill

Closes #561
Add SALVAGE to MISC_SKILLS List
Don't display child skills on scoreboards

This fixes an issue where the scoreboard would not display properly
when using /mcstats or /inspect.

Fixes #2037
Add diminished returns when a player has earned too much XP

When a player reaches a certain (configurable) threshold value of total
XP earned in a specific skill, his earned XP in this skill will be
decreased.

Depending on how far the player has exceeded the threshold value, his
XP will decrease more. After the (configurable) time interval of 10
minutes, the registered data will be cleared and the player can earn XP
as normal again.
Rolling xp diminishing returns

This adds on top of the diminishing returns system a mechanic such that gains will expire the configured number of minutes after they occured, rather than all being reset at once.

This prevents someone from not getting diminishing returns on the xp gain they recieved just before the reset would have occured.

Obligatory explanatory graphs: http://i.imgur.com/uSzicIR.png
Clean this up
Diminished instead of Deminished
Use a DelayQueue to manage rolling diminished returns
Move SkillXpGain to datatypes/experience
Cleanup