Rename variables/methods for ProvidesMap to provides_map

The name "attributes" to refer to the map of attributes<->plugins
providing attributes was confusing because it was inaccurate and often
used near a local variable named "attributes" containing a very
different kind of data (such as an Array of strings referring to
attributes another plugin depended on). Renaming to "provides_map"
clears up the confusion.