Full documentation

Latest version has some added functionality and a lot of cleaning and rationalisation of function argument order for consistency, but critically now has complete documentation (if not *brilliant* documentation) for everything in the package.