Fixing a problem where moves are not sigaling the add button to be enabled. I've disabled some validation and now duplicate moves can be added into the moves section.

I've updated all view-model code to use the new Prism 5.0 SetProperty command and it replaces manually triggering INotifyPropertyChanged events.

I've eliminated a lot of properties in the code in place of accessing field variables in classes. It shortens the code, makes it easier to set defaults and we no longer run into problems when passing things by reference.

I've started creating the basic elements of behavior trees, but I might move in the direction of using UnityBehavior framework. We should try moving away from the FSM logic since it's a pain to update and maintain.

Health and Magic classes have been created, but have not been swapped in yet. Placing these classes where shouldRestMP and shouldRestHP will make the code easier to read. Instead we could use ...Magic.ShouldRest or Health.ShouldRest

In AbilityServices, I've added an .Exists function that checks to see if there are abilities available for use under a given name. It is still very CPU expensive and caching might be a solution later on.

I've added references to the Reactive Extensions framework and maybe we can use it our advantage to make the code simpler.