Updated can.attr docs

Updated with a few more changes, like a better introduction that describes why the module exists, and what it enables for the end user. Also fixing an example in the 2.1 docs. Related to #757