made some adjustments for updating average rating, fixed search test to ...

...be dynamic, and implemented sorting for rating/name
What happens when `params[:order]` contains a bogus column name? You might want to check to see if it is one of a handful of valid values.