Replace Material.getMaterial (and ~.valueOf) with ~.matchMaterial().
matchMaterial strips special characters and converts to uppercase before matching with enum as opposed to the old two methods
Fix NPE if player doesn't have any homes
Precise name matching.
Example: user defines warps "Survival" and "SurvivalGames". Issuing "/warpitem Survival grass" would update EITHER SurvivalGames or Survival. This fixes that.