lib: add `MapRead::get_or_null` to provide a more standard usage of Maps

Signed-off-by: Jean Privat <jean@pryen.org>
lib: add `provide_default_value` in Map to allow subclasses to provide
specific behavior when there is no value associated with a key.

The default behavior is to abort, as usual.

Basically this patch factorizes the `abort` in a single function that can
be redefined.

Signed-off-by: Jean Privat <jean@pryen.org>
lib/more_collection: MultiHashMap associates new arrays to unknown keys

Signed-off-by: Jean Privat <jean@pryen.org>
Merge branch 'map'

fixes #303