Implement simple form of associative arrays
Created by: bblancha
Problem: No map-like data structures yet exist in ion.
Solution: Allow simple associative arrays with string keys
Changes introduced by this pull request:
- Create hashmap context in shell::variables to store named hashmaps
- Create "Key" selector to represent string keys
- Instances of "Select" objects must now be cloned; remove Copy trait (This was needed to support a select type based on string keys)
Drawbacks: Select objects no longer implement Copy
TODOs: Does not yet have an initializer syntax for associative arrays
Fixes: Addresses #246 (closed)
State: Needs review