added associative range and lazy associative range to std.range

Adding the basics of a associative range and a lazy associative range to std.range.

A associative range implements every thing typical of a container hashmap. (byKey, byValue, Indexing , in).

A lazy associative range implements only indexing (and a alias to Key type and Value type because i couldn't find any other way to do it).

Before you ask i can't add input range primtives to a associative range because the built-in associative array overloads foreach(k,v;hashmap).
Please criticize.