IGearClient.add accepts environment variables - fixes 568

I've tried to sketch out some code and made some notes for discussion during design review.

Fixes #568