Counter Cache Patches

Hey Guys,

There are two patches that could use a review.

The first one fixes a bug with namespaced models and counter caches.
If a belongs_to references a namespaced model and gets re-assigned it
incorrectly infers the cache column name.

The second patch adds the ability for the has_many association to use
custom counter names that don't correspond to the #{association_name}
_count column name.