Added some OnBefore and OnAfter functions in form management to allow easier manipulation
made sure data changing is allowed in preprocess when it is an array

That can be a BC problem but I think it makes sense to allow also data manipulation within the form processing. It is only an option because when we add the onBeforePreproccess function it is also possible to do so, that's the reason why I made it as a separate commit :-)