Push up code to AbstractNavtable be shared between Navtable and AbstractForm

The commits are not really well ordered but the idea behind it is share as much code as possible between Navtable and AbstractForm. This is done pushing up to AbstractNavtable, that is becoming a bit bigger now, but it's easy to refactor within one class that between several classes.

This pull request must be merged also to allow the pull request on navtableforms about the alphanumeric subforms