Fixes fields_for with deeply nested has_many associations

This is my proposition to fix the remaining issues of #516.

This code is not 100% perfect. If you would have an attribute name build up with exactly 24 characters containing only [0-9a-f] the code would not recognize it as an attribute name but would think it is an id for the nested attributes array. The same goes for when you would have attributes named new_\d.

I'd be glad to have the discussion here if this could/should be enhanced. I don't think we can have a solution that would be 100% correct. Let's not think about switching to something like Backbone.js for now but stick with what there is now and how we can fix it.