Issues/222 category editing add order interface

Builds on https://github.com/mysociety/alaveteli/pull/1721 to add an admin interface for reordering headings and categories. 
I'd extract the transaction out in to a helper method:

```ruby
def reorder
    transaction = reorder_categories(params[:categories], params[:heading_id])

    if transaction[:success]
        render :nothing => true, :status => :ok
    else
        render :text => transaction[:error], :status => :unprocessable_entity
    end
end

protected

def reorder_categories(categories, heading_id)
    ActiveRecord::Base.transaction do
        error = nil
        categories.each_with_index do |category_id, index|
            conditions = { :public_body_category_id => category_id,
                           :public_body_heading_id => heading_id }
            link = PublicBodyCategoryLink.where(conditions).first

            unless link
                error = "Couldn't find PublicBodyCategoryLink for category #{ category_id }, heading #{ heading_id }"
                raise ActiveRecord::Rollback
            end

            link.category_display_order = index

            unless link.save
                error = link.errors.full_messages.join(",")
                raise ActiveRecord::Rollback
            end
        end

        { :success => error.nil? ? true : false,
          :error => error }
    end
end
```