Code cleanup (1st iteration); 'Summoner' endpoint

Moved a good bit of redundant code to a single function in the core
library. Full functionality of the library should be re-tested to ensure
everything works as it should. Started summoner endpoint (data types
laid out)