Add support for map guards (is_map/1 and map_size/1) to HiPE

This pull request adds support for compiling the is_map BEAM instruction all the way down to native code and being able to handle map guards (is_map/1 and map_size/1).

With this set of changes:

 - Maps can be handled by native code as long as no attempt to construct (e.g. add new key-value associations to existing maps) or deconstruct (i.e. pattern match against maps) happens

 - Various library files that could not be compiled to native code due to is_map/1 additions now can

 - Most importantly, there is no reason for Dialyzer not to run fully in native code (in platforms that HiPE support is available)