develop branch initial commit

- added initial vagrant configuration for setting up a test SubliminalCollaborator peer (currently only installs sublime text 2 and a few packages)
very incomplete mad scientist experimentation with vagrant vm setup of ircd (w ssl) and subliminalcollaborator
switched to using centos VM from puppetlabs

- ubuntu inspircd packages were a mess, trying centos out
removing inspircd example config and adding in heriadata for configuring inspircd puppet module
kinda working ircd config

- ngircd on centos, working on the local VM (tested wout ssl) but not with the host
- removed puppet modules that proved ineffective
fixes for centos

- gtk2 package included
- dbus service now properly named messagebus
adding fonts to finish x11 setup
untested configuration for puppet-managed firewall rules using puppetlabs/firewall module

- should open up ports for ircd and, later on, other messaging services
fixed firewall rules for ircd
sublime text refactoring and SubliminalCollaborator setup in VM

- sublime_text module with sublime text setup instructions
- ssl_client module with client private and public ssl keys
- removed hiera config (hold over from inspircd experimentation)
fixed SubliminalCollaborator configuration setup

- properly creating required directory path for Accounts.sublime-settings file
- x11 setup now moved to its own module
IT WORKS!

- xvfb-run execution of sublime text now happening to generate default plugin packages directory for the vagrant user
- SubliminalCollaborator plugin "install" and configuration working
replaced Accounts.sublime-settings single quotes with double quotes
twisted updated to 13.1, unpatched official version
start-at-the-top refactoring

- reactor initialization refactored with proper initialization exception handling, much safer integration particularly for other plugins using twisted
- check to see if ThreadedSelectReactor is being used and warning logged if not
- better? logging support, i hope
- twisted updated to 13.1 and patches removed to go into subclasses later while official twisted patches move through their release process
moving things around, refactoring core negotiator code

- sublime keymap and mousemap settings disabled, for now
- commented out most of the plugin root commands.py to ease refactoring process
- sub_collab/negotiator/interface.py renamed to */base.py, BaseNegotiator class added implementing constructor that accepts a config dict and provides a getter for that config dict
- registry handled negotiator instances instead of separated config maps and negotiator maps
wrapped up logging and negotiator handling for registry

- finished negotiator configuration loading refactor including  connect-all-on-startup mechanism
- commented out sections of old code around logging and configuration now removed
- uncommented OpenSublimeSettingsCommand
- starting to refactor CollaborateCommand
- initial stab at a NegotiatorListener interface for UI callbacks
- BaseNegotiator now stores and provides a getter for an id, registry module sets that as the negotiator key
NegotiatorListener interface swapped out for typical Observer-Observable pair
patched ircclient implementation added and session handling added to registry

- lib/sub_collab/negotiator/base now includes PatchedServerSupportedFeatures and PatchedIRCClient classes which capture twisted ticket #3275 changes until that ticket is merged and released
- sub_collab.registry now has session storage and handling methods
CollaborateCommand rewrite of mechanism for choosing a peer to open a session

- openSession() triggers chooseNegotiator() which triggers choosePeer(), all using the sub_collab registry