compiler: Fix get_map_element bug with allocate

The instruction get_map_element has a faillabel so you may not
use the instruction within a allocate/deallocate block.
stdlib: Fix maps:map/2

Evaluated fun was not returned correctly
erts: Add tests for non BIFs in Maps module

  * maps:without/2
  * maps:foldl/3
  * maps:foldr/3
  * maps:map/2
  * maps:size/1
compiler: Fix v3_core for map update syntax

Make map update expressions safe, i.e. (foo())#{ k1 := 1 }
erts: Add tests for Map update on expressions

  (foo())#{ k1 := V1, k2 => V2 }