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.
 * A guesswork implementation of erl_types:t_unify/3 for maps.