Fix mapping string assoc inheritance

supersedes #230 

with this PR we essentially try to inherit as much as possible from the parent definition and specifically check for unwanted changes in the definition (like the type).

that being said .. right now i allow changing the multivalue and assoc settings, which i guess we should prohibit?