Fix .first on SQL Server 2000 when called with only order.
Model.order(:something).first was deleting the order clause.
Moved the code for generating proper order out of if/else and using
new_order in both cases.