making When and It's optional like Assert was recently;
cleaning up code, adding documentation
copying Testify's full source (for now)
updated examples for latest refactoring