Add support for creating docsets

Instructions from http://kapeli.com/docsets#dashDocset.
The javascript is currently pretty janky inside dash.
We'll probably want to keep everything expanded when inside a docset, as well as hiding some of the chrome (especially the sidebar). @orta, any advice on doing that?

@kapeli, is there any chance you could look this over and let me know if I've done things correctly?
`source_declaration_type.rb` where a `SourceDeclarationType` class can be defined with a `swift_types` array constructor.