Fixed duplicate address records being created during the checkout process

The bug occurred when a user filled out their address details in the address step, continued to the delivery step, and then stepped back to address. When the user continued the checkout process again the addresses already entered would be recreated as new records in the database. This occurred because the id field wasn't permitted by the controller. Without the id the existing records could not be updated, resulting in new records being created.

This pull request includes a test that breaks without the supplied fix.