Refactor moves for multiple origins

Adds ability to have multiple origins for moves. Add class_name: parameter to all associations because models are namespaced
this line is beautiful