Implement adjustable accuracyRate for moves

This enables accuracy to be adjusted up or down for moves using the same
accuracy function. If no accuracy rate is provided, the battle engine
uses 1.0 as the default.
Implement experience subsystem

Each action definition has a section specifying how much base experience
it adds to each stat when used.  Right now experience output is fixed
per action, but later it'll be calculated based on move proficiency.