Add IMap.modify/modify_rec/modify_opt

Note: I had to make public AvlTree.create for better performance when
modifying a singleton (which I believe is quite frequent)
Add List.modify/modify_def/modify_opt for association list

Obviously performance is less of an issue here.
Cosmetics
Add Multi{P}Map.modify and friends

No tests since that's just wrappers around {P}Map