Add @key, @index, log support to can.Mustache

- ```@index``` directive which outputs the index of item of an array/can.List
- ```@key``` directive which outputs the name of properties on objects and attribute names on can.Maps
- ```#each``` iterator now works on generic objects as well as can.Maps
- ```#each``` will be live bound on can.Map attributes
- ```@index``` will be live bound on can.List