Adding preorder to change order presedence

Sometimes application developers need to add a new superseding order in to an existing order chain. In order to give precedence to a new sorting without touching previously defined ones, it's possible to add the `preorder` scoped statement.

Example: 

    User.order(:name).preorder(:id)
    => SELECT "users".* FROM "users" ORDER BY "users"."id" ASC, "users"."name" ASC