Removed some unnecessary code and added some comments to the new functions
Added basic implementation of the put_map_exact instruction, it is tested with basic testcases but needs more testing
Added a new implementation of the put_map_exact instruction
Merge remote-tracking branch 'origin/hipe-maps' into hipe-maps-put_map_exact

Conflicts:
	lib/hipe/icode/hipe_beam_to_icode.erl

Merge has been done in order to run the entire maps_test_suite.
Uncommented the skipped testcases so they now are ran together with the hipe test suite
All four instructions now added, the hipe test suite is passed with this code
Merge branch 'hipe-maps-put_map_exact' into hipe-maps

Uncommented the skipped test cases for the hipe test suite. The put instructions are implemented and the other two
instructions the have been added to the beam_to_icode file. The updated hipe test suite is passed for this
implementation.
Added maps argument types
Some work towards more map type information in HiPE and Dialyzer

 * Added t_is_singleton/2 and t_map_entries/2 help functions to
   lib/hipe/cerl/erl_types.erl
 * Added a case that would cause overflow in erl_types, throwing an
   informative message to whomever might need it.
 * Added find_terminals/1 case for maps in
   lib/dialyzer/src/dialyzer_dataflow.erl
 * Added a reference output to the dialyzer small_SUITE/maps1 case under
   the assumption that it's absence did not imply that dialyzer should
   find no discrepancies.
 * Added maps:get/2 to lib/hipe/cerl/erl_bif_types.erl, type/5.
Added pp_typed_icode output of maps_SUITE for use in development
Fixed failing dialyzer test by adding maps to erl_types:t_inf

Found that the cause of the error messages in the dialyzer map1 test
case was t_inf(#{}, #{... => ...}) = none(), added a placeholder case
for the infinimum of maps and maps to fix that.
Added elimination of maps:is_key/2 calls to hipe

 * Implemented the t_inf/2 and t_sup/2 functions for map types in
   lib/hipe/cerl/erl_types.erl.
 * Implemented type/5 for maps:is_key/2 in
   lib/hipe/cerl/erl_bif_types.erl.
 * Added t_singleton_to_term/2 function to erl_types which converts a
   singleton type to its corresponding literal.
 * Extended erl_types:t_from_term/1 with the improved map type.
 * Implemented removal of maps:is_key/2 calls of which the result is
   known in a new pass during the typed phase, called
   hipe_icode_call_elim.
 * Added the option icode_call_elim that enables the
   hipe_icode_call_elim pass, and made it default for o2.
Updated TIC files