Improvements to the register form

Right now there's no way of removing the first/last name or email fields from the checkout form when a user is not logged in. Those fields are hardcoded and unlike the version of checkout for logged in users, does not call the function to generate those fields. This PR fixes that.