Fix chain filter data race

This is part of ethereum/eth-go#55.

The API has changed slightly to prevent concurrent updates of the filter callback fields.