Due to improper ticket handling the aforementioned report and suggested fix
was gone largely unnoticed. Current code now resembles a slightly modified
version of the patch. Thanks to andrewbates for the original contribution.

I've made a decision to not support an single form field reset. So with this
changeset the TracForm reset support is nearly final as far as I consider
it to be necessary, and reasonably usable according to my tests.
But a form reset is a final decision, there is even no confirmation dialog,
so FORM_RESET permission should be granted with care to keep this actions
administrative.
Again: Think before pressing the almighty button(s) - you've been warned.

Now we utilize the TracForm history parser for recovering the previous state.
With an obvious but notable limitation: We need recorded form history,
that currently is an optional form command, otherwise fallback to a simple
form reset.

A cleanup after understanding more about the HTTP request arguments:
This was always pointless, since it was the only POST method anyway.
While there, ensure to stay at the default form view after a reset action.

A new form.has_data property simplifies the decision code for displaying
the reset button. Longer values are presented on separate consecutive lines
in history changesets for higher readability and visibility of changes.

Correct use of integer id values allows for omit use of get_tracform_meta
in most occasions, while it has been mandadory for most FormDBComponent
methods before. Much less DEBUG log output and a certainly a small speed
improvement too (not profiled).

I've created this beta release with some changes that 'should' ensure the childtickets data is now correctly cached and synced using the trac 0.12 'cached' decorator. I don't have much of a test env here at home to see if this 'really' works but as far as I can tell it's regenerating the cache when required (ticket add, mod, delete) and the decorator should ensure it is being done so across all threads.

I'd appreciate it if you could try it out and see if it also works with the Mylyn plugins.