Added preserve_defined_order flag to annotation builder

This flag when set preserve the elements in the order they are defined in the class as opposed to the default of putting fieldsets after elements.

Fixes https://github.com/zendframework/zf2/issues/6653
For a single option, the g/setters + an additional constructor arg seems sufficiant. I added the set options API method as it is the pattern used elsewhere in the framework. Personally I could go either way on it; the method could always be reintroduced if an additional option is created, let me know what you would prefer and I'll amend as required.