add a poll.method decorator
remove unnecessary SerializedInvocation
remove PollingChangeSource docstrings
Fix poller hook

This is still not appropriate for nine.  Rather than forcing local
change sources, it should be sending a message to force remote change
sources.  But, good enough for the moment.
Merge djmitche/buildbot:bug2442 (PR #1149)

Conflicts:
	master/buildbot/util/__init__.py

+ pyflakes
+ fix docs
change imports to avoid shadowing

in
```
from buildbot.util import poll

class Foo:
    @poll.method
    def someMethod(self):
        pass
    def poll(self):
        pass
```

The `poll` in `@poll.method` correctly refers to the module.  However,
if the order of the methods is reversed, it refers instead to the `poll`
method in the class scope.

Pyflakes only detects this in the problematic ordering, while pylint
detects it even in the working order.  Pylint is probably right -
re-ordering methods shouldn't change behavior!