Allow arbitrary stats requirements for jobs

Jobs can now have requirements on any or all of the player stats. You
could choose to create a 'mage' job that required a high mind stat, or
a 'thief' class that needs agility.

You can mix and match requirements as well. A 'dragon knight' class
might require level 10, 30 strength, and 20 agility. Leaving a stat
requirement blank means that the stat will not be considered when
checking if the class is available to a user.