Spirit: merging from trunk: documentation updates, comment fixes, formatting issues (tabs), added a new test, etc.