Work when in subdirectory of a git repo

When starting, after fatal conditions check, change current directory to
either some parent that is a valid git repo, or the fs root. Why the fs
root? It just doesn't make sense to add the code to change *back* to the
starting point since it's going to be a fatal error anyway and we're
going to exit.
Ensure tests for failing outside a repo fail

Can't run these tests in the lolcommits repo itself, because we need
them to fail. Therefore add an annotation that allows them to be run in
a temporary directory.
Add scenarios that test for working in subdirs

Verify that the last and browse commands work in subdirs too.
Update uploldz.rb

Added optional key to the HTTP POST request. This will allow server side scripts to only accept and save requests from remote users with the correct key.
add editorconfig and gitattributes to add contributions

should make it easier for the right things to happen magically
Replace http with https in twitter plugin.

http requests produce a 403 error during OAuth.
Merge pull request #195 from kleinschmidt/master

Replace http with https in twitter plugin.
Merge pull request #192 from Numan1617/master

Added optional key to uploldz plugin
Merge pull request #186 from ilkka/work-in-subdirectory

Work when in subdirectory of a git repo
adding `--devices` option (mac only) to list attached video devices

* for now, outputs nothing on other platforms
* some tidy-up in capture clases, introduction of a common
`executable_path` method
Merge pull request #198 from mroth/list-devices-mac

adding `--devices` option (mac only) to list attached video devices
Merge branch 'master' into rubocop

Conflicts:
	bin/lolcommits
	lib/lolcommits/capture_cygwin.rb
	lib/lolcommits/capture_linux.rb
	lib/lolcommits/capture_windows.rb
	lib/lolcommits/plugins/uploldz.rb