Add arrowhead changes from master

PR after urgent Repo clean up
@codecalypso, why are you copying over this into a new class in lib/ ? Do you have future plans? Just having your code in the original `Arrowhead` is probably fine. However, if you break things apart think about also pulling out the CLASSIFICATIONS array into its own file as a wrapper (acting like a database)