support negative array indexes deeply in get keys

Currently in Map the behavior of the get method when negative array indexes are passed as keys differs if the negative array index is the last key or not:
Map.new(a: [b: :c]).get(:a, '-1', :b) == nil
Map.new(a: [b: :c]).get(:a, '-1').get(:b) == :c

This PR includes a change such that both cases now equal :c along with a test.