Merge pull request #315 from KayenEQ/Development

ADD FD check before adding projectile generated hate.
Be more explicit about what we are checking

(This removes a crap ton of clang warnings)
Merge pull request #316 from KayenEQ/Development

Fix for completely broken skill proc function.
(RoF+) Implemented Hero's Forge Armor Models for Items.  To use, set herosforgemodel field in the item table to a model number such as 63 (for example).
Fix compile error
Some clean ups due thanks to clang's warnings
Update version too
Make use of the targetable_with_hotkey flag for SoF+
Clean up SoF+ swarm pet F8 hack
Set the no_target_hotkey data as well
Implement IGNORE_ROOT_AGGRO_RULES (special attack 42)

This allows you to have a mob be rooted but still try to attack the
target with the most amount of hate instead of attacking the closest
Fix guild rank spam
(RoF+) Implemented Armor Ornamentation using Hero's Forge Armor Models.  To use, create an ornamentation augment and set the herosforgemodel field in the items table.
(RoF+) Added command #heromodel (#hm for short) - Usage: #heromodel [hero forge model] [ [slot] ] (example: #heromodel 63)
Added required SQL.  Without it, there will be item loss using the last commit!
Fixed bots build.
Adjust common/random.h based on N3551
Add Random::Shuffle

This is just a wrapper to std::shuffle since it requires a random
engine and ours lives in a class

Must pass random access iterators (array, vector, deque, etc)

ex:

std::vector<int> v;
/* init ... */
random.Shuffle(v.begin(), v.end());
aa.cpp/.h cleanup
beacon.h/cpp header cleanup
bonuses.cpp header cleanup