Use sets for storing *_PASSAGES and *_TAGS categories

Since the most common operation on these is a membership test and the
order doesn't matter, a set is a good choice for the data type.

Also use INFO_TAGS in isStoryText() instead of calling several methods
to check for specific tags.

In StoryFrame.buildIncludes(), when including files with the ".tws"
extension, passages with a title that is a *substring* of an excluded
passage name were skipped. I assume this was a bug and the correct
behavior is to skip only passages where the title is *equal* to an
excluded passage name, as was done for included Twee files (albeit
in a slightly overcomplex way).
Optimized the concatenation of story HTML fragments

The main thing is to avoid adding to a string repeatedly, since this
requires an increasing number of bytes to be copied again and again
as the string grows. Instead, put the fragments in a list and at the
end join that list.

Avoid repeated lookup of the tiddler in the dictionary.

Test whether obfuscation is enabled before testing the title: this
avoids the title check completely when not using obfuscation.

The latter two optimizations probably won't have a noticable impact
on performance; the first one probably will on stories with many
passages.
Removed "html" argument from addTweeFromFilename()

There is no reason to share code between addHtmlFromFilename() and
addTweeFromFilename() since both are essentially one-liners.
Removed unused method TiddlyWiki.tryGetting()
Ignore text before first passage declaration in Twee source

Example:
===
Some Twee sources...
...have text before first declaration.
:: Start
Once upon a time...
===

Before this commit, a passage titled "Some Twee sources..." would be
created from this example. After this commit, the text before the
first passage is ignored.
Merge pull request #112 from mthuurne/various_cleanup_optimize

Various optimisations