New Action View helpers: hidden field tags from a flat or nested hash

Add helper methods to convert flat or nested hashes into a sequence of hidden input fields to be submitted with the form.  Example:

```ruby
hidden_field_tags_from_nested_hash({ :a => { :b => ['c', 'd']}, 'e' => 5 }, :id => nil)
```
Output:

```html
<input name="a[b][]" type="hidden" value="c" />
<input name="a[b][]" type="hidden" value="d" />
<input name="e" type="hidden" value="5" />
```

Originally based on http://marklunds.com/articles/one/314.

I think this also can be used to fix #2158.