Make checkout once again use Address objects

This is easier to handle in code and better for code completion.

Fixes #162