Updates some confusing wording, specifies naming conventions, and links
to external `new.sh` for contributed templates (rather than modified
templates).
* Expanding customization docs
As a new user I was very confused on how to either modify, override or create a new library. The existing docs were brief and had requirred knowledge that new users will not have, and it took a lot of trial and error to make progress.
Also the wording seemed off. It kept talking about "client" when this project creates more than just clients, used "language" when some templates are not a language, and used library to mean a few seeminly different things. I've tried to consolidate the wording around "template" and "codegen".
The codegen is the Java code, and then you give it a "name" which is used for the template. That's the template folder it will live in, so it seems to work.
Feel free to use this as a base and edit it out, but this will all make a lot more sense to beginners. :)