Another massive commit - lots of changes, additions, removals - and more documentation.