A few more test tweaks
Clean up kwargs handling in repository constructor

This add a defaults attribute where default values are stored instead of
accumulating them in the cli.  I think improves readability and is
certainly easier to manage.
Cleanup cli and make use new repository constructor
Update tests to support recent cli and core changes