Improve WriteError utility

* WriteError accepts multiple arguments like Printf
* WriteError automatically adds a trailing `\n` if there isn't one
Manage PR assignment with `pulls take` and `pulls drop`

* `pulls take` assigns a PR to the current user
* `pulls take --steal` steals a PR from its current owner
* If not authorized to take, it posts a "#volunteer" comment

* `pulls drop` unassigns a PR from the current user (if it owns it)
Move maintainers code into new file

Refactor and cleanup some funcs
Rewrite get maintainers logic