Main author:
* Olivier Brunel <jjk@jjacky.com>
Contributors:
* VoidStar [method 2]
* Kaz Kylheku [method 4, method 5]
* Kim Walisch [method 6]
* Mark Dickinson [method 6]
* Niklas B. [method 7]
* Jim Mischel [method 8]
* David Howells <dhowells@redhat.com> [method 9, test-alt]