Javascript documentation

All Knockout viewmodels have a common level of
jsdoc documentation.

Minor refactoring to reduce duplication.