Make require() compliant with CommonJS 1.0

This includes potentially breaking changes.
  Specifically, before this patch tiddlywiki would default to relative module identifiers
  Now, tiddlywiki will only search relative paths if explicitly specified
  Additionally, some "defaulted export contexts" were removed
    (some modules may make assumptions about context)
Some unit tests were modified slightly from their originals
  Tiddlywiki doesn't have a notion of a "main" program's path
  Some require calls were explicitly made relative
  None of these changes should affect the requirement under test in each case
Fix up descriptions for tests
Cleaned up some dead/commented in patches.
Some quick style cleanup to commonjs patches
Additional improvement to CommonJS Modules support
 Now implements (and mostly follows) requirements of Modules/1.1 spec
  implementes only the required "secure sandbox" subset of the spec
  `module` free variable changed from the `moduleInfo` to an id container
  `require` free variable given a "main" property
  boot module scope closed and exported
    this also changes the interface between boot and bootprefix slightly
    (should now be able to create multiple TW instances under node)
 BREAKING CHANGES:
  The tiddlywiki module itself now exports a single constructor function
  Modules which depended on `module` referring to `moduleInfo` will break
  Modules which don't conform to Modules/1.1 will break
    (by attempting to modify require.main or module.id)
Rudimentary fs.watch usage in filesystemadaptor
  Will only watch for changes on wiki files loaded during startup or created by runtime
    (Does not yet track renames/deletes)
    (Will not notice new files)
  May become confused by directory structure changes on some platforms
    (see node docs on fs.watch for caveats!)
More graceful handling of tiddler delete in filesystemadaptor watch code
Remove watcher while saving, and use AddTiddler instead of modifying tiddlers directly
Merge pull request #160 from natecain/commonjs

CommonJS Modules/1.1 Conformance
Revert "Merge pull request #160 from natecain/commonjs"

This reverts commit 661621c3f76bf847c458fa4f639bd40f4bdefc41, reversing
changes made to d3d72eff1be4a684f8484e83ea7d369e0d6d9741.
Merge branch 'fs_watch' of https://github.com/natecain/TiddlyWiki5 into natecain-fs_watch
Initial Commit

Carried over from the abortive pull request #169
Provide an exports object in the evalSandboxed context of jasmine-plugin
Make require() compliant with CommonJS Modules/1.1
Fixes to make SVG and MathML elements work properly
Add button widget
Refactor macro parameter substitution

Now macros can also include references to variables as `$(variable)$`
Add support for macro definitions
Add a class for missing tiddlers
More useful class variables for tiddler status