Added tests that use put_map_* instructions on non-maps

Tests both with and without custom failure labels.
Added a check if the arguments provided to put_map_assoc/exact is a map, if not a badarg is returned. The problem is that badarg is returned even if other errors should occur, needs to be solved. This branch is pushed in order to receive help for solving this issue
Added case when failure labels are function_clause

They have the particular trait of going backwards in the BEAM rather
than forwards, exposing bugs with multiply defined failure labels.
The fail labels for the put instructions should now be in order, the hipe test suite passes. A new help function called generate_put_map_instructions is responsible for checking whether a fail label should be added or an existing one should be used
Backported warning fix from rebase
Merge branch 'hipe_maps_put_fail_handling' into hipe-maps
Normalised formatting of the put_map_* code

 * Removed trailing whitespace
 * Indented using Emacs algorithm (like the rest of HiPE)
 * Used intent-tabs-mode (initial indent of line uses tabs)
Merge branch 'put-map-tests' into hipe-maps
Cleaned up test suite

 * Undid the addition that allowed the HiPE cases to return {skip, ...}
 * Removed commented-out code from test cases
Moved the hipe-maps code around to be easier to find and read

 * Grouped all map changes to hipe_beam_to_icode:trans_fun/2 in one
   location so they are easier to find.
 * Reordered the cases and functions after
    - Instructions ordered by increasing complexity: has_map_fields,
      get_map_elements, put_map_assoc, put_map_exact.
    - Top-down by call order.