Ruby 1.9 syntax, introduced acts_as_list to replace custom position logic and added some extra specs

I made one pull request because all my changes are depending on each other.