Expands nested hashs when on data-attributes

On form helpers, currently we can pass a hash for the attribute `data`
and it expands it in many attributes. For example,
`:data => { :value => 3 }` generates the attribute `data-value="3"`.

However, only the first value is  hold true for nested hashes. So the
hash `:data => { :plugin => { :value => 3 } }` generates the attributes
`data-plugin="&quot;value:&quot;:&quot;3&quot;"`.

ouldn't be better in the previous example if it generated the attribute
as `data-plugin-value="3"`? This is exactly the objective of this patch.