Make Action.finish() a public API, allowing explicit finishing of actions.
Ignore more than one call to Action.finish(), otherwise following idiom
would result in multiple finish messages when the context is exited:

with action:
    try:
        doSomething()
    except OneError as e:
        action.finish(e)
    except Exception as e:
        writeTraceback(logger)
        action.finish(e)
Document the new API.
Address review comments: Slightly better docs.
Merge branch 'python3-1' into explicit-action-finish-12
News entry.
Merge pull request #39 from hybridcluster/explicit-action-finish-12

Public Action.finish() API.

Fixes #12.