Logging

Pull my ElementArray-request first. This adds to that. Four main changes:

**Logging core**
autoLog is forced True/False for Window
autoLog=None (now default value) defaults to Window.autoLog for stimulus initiation.
log=None in set*() methods (now default value) defaults to stim.autoLog.

**Logging in tests**
All manual logging behavior was deleted so that everything follows default Window.autoLog. Window.autoLog = False for all tests except one (left on so that we can see that logging doesn't break anything. There's still no explicit test of logging output).

**Names**
Changed default "name=''" to "name=None" for stimuli in which case the name becomes "unnamed <stim-type>", e.g. "unnamed ImageStim". Log was relatively uninformative about which stimulus changed (e.g. for opacity = 0.5, which many stimuli share) when coding stimuli.

**setAttribute() replaces setWithOperation and callAttributeSetter**
... just because they did pretty much the same and I was unhappy with the keyword names/order anyway. A few very minor fixes/performance enhancements were added too. Otherwise no change in functionality here.