Fix ClassCastException for malformed plugin.yml. Fixes BUKKIT-3563

If the plugin.yml gets loaded but wasn't in the form of a map, the
server would crash. This safely checks to see if it can be cast,
throwing invalid description if it cannot.
Spigot POM Changes.
Measure the duration of the entire timings run.
Add CustomTimingsHandler for adding new CraftBukkit custom timings
Add nag for bad plugins.