Optimize DB query of project page from 3s to 1.6s average

* Optimized the DB query of project page, but the multiples
  custom_values are still using DB query to retrieve, although
  the initial values are cached from the first query. Rest to figure
  out a way to remove all the small cached query.

  The small cached query are done through the acts_as_customizable method
  call.

* Fix a logical bug from inserting and removing favorite field. Now
  it is resorted to 1 query to delete all favorite custom field
  and multiple insert to create all the favorited ones.

* Return proper HTTP status code on AJAX query (302)
Fix the missing custom_values.value field

Fix the missing custom_values.value field by rolling back to the
original implementation of creating a CustomFieldValue object
from custom_field_values method in the acts_as_customizable.

The acts_as_customizalbe was monkey patched because I couldn't find
a clean way to override the method (custom_field_values) in the
acts_as_customizable module.