Acts As Ordered List copied to Github, with the added ability to set the scope (like acts_as_list)