* lisp/emacs-lisp/map.el (map-delete): When map is an array, check if
the key is present to avoid signaling an error.
* test/automated/map-tests.el: Add a test for deleting non-existing
keys from maps.
* lisp/emacs-lisp/map.el (map-elt): Do not use `ignore-errors' when
doing a lookup in arrays, but check the boundaries of the array
instead.
* test/automated/map-tests.el: Adds a test for `map-elt' with arrays
and a negative integer as key.