Split logic out into testable objects
Rubocop clean. Good test coverage of helper objects.
Write initial buy credit command
Supports registering with backend SGX via basic iq:register.
Does not support data forms version with nice labels.
Does not verify billing or anything else yet, just unconditionally registers the user.