Make subform always use the inputs_wrapper, even if :inputs is not given

Previously, subform only called the inputs_wrapper if :inputs was
provided, but that resulted in inconsistent behavior between:

 f.subform(:foo) do
   f.input(:a)
   f.input(:b)
 end

and:

 f.subform(:foo, :inputs=>[:a]) do
   f.input(:b)
 end

Ideally, these should result in the same output, the :inputs option
to subform and first argument to inputs just automatically handle
the input calls for you.

This makes subform pass a :subform option to Form#_inputs, because
I can't figure out how to make the Rails integration code work
without differentiating subform _inputs calls from non-subform
_inputs calls.
ol, div, and table inputs_wrappers now respect the :attr option
table inputs_wrapper now respects the :legend and :legend_attr options, using a caption