ORDER BY xx NULLS first/last break reverse_sql_order

Oracle and PostgreSQL supports "NULLS first/last" in order by statement.
And `reverse_order` will now revert `nulls first/last` when they're part
of the order by statement. For example,

    # "name ASC NULLS LAST" will be reversed to "name DESC NULLS FIRST"
    User.order("name ASC NULLS LAST").reverse_order