Twisted build strategy 28

I've moved a lot of stuff around in this branch with the aim of identifying which parts are Twisted specific and being able to use newsbuilder for Twisted releases.
 * Moved Twisted specific build rules into a new `TwistedBuildStrategy` class which then calls `NewsBuilder.build`. Later I intend to write a simpler default BuildStrategy which doesn't attempt to detect versions and doesn't assume that the project lives in a subversion repo.
 * Moved various helper functions out of `NewsBuilder` to the module level where they can be re-used more easily or eventually deleted if they turn out to be Twisted specific.
 * Added a synopsis and longdesc to the newsbuilder command (which I forgot to do in #30)

Hopefully all this will make it easier to use newsbuilder for Twisted releases. There's a twisted branch where you can see how it will be used:
 * https://twistedmatrix.com/trac/log/branches/newsbuilder-7524

Fixes #28