Added tests for min() and max() using Comparator
Modified constructor arguments

Detail:
- HashMap::__construct() now can accept both array and Map
- \Exception => \InvalidArgumentException
Fixed max() to min()
Fixed #1

Detail:
- Implemented IteratorAggregate to ArrayMap