Cherry-picked contents from hkccp-import
Summary:
- Add commands pulled from hkccp import
- Ensure 0 <= discount <= 100
- Ensure a domain already assigned is not assigned again, and lower-case domain names
Test Plan: No particular plan
Reviewers: #hkccp_developers, machniak
Reviewed By: #hkccp_developers, machniak
Subscribers: machniak, #hkccp_developers
Differential Revision: https://git.kolab.org/D1291