Refactored download.rb for better understandability
First shot at vcr
Rename sample10
Rename more sample files
Rename sample 20
Rename sample22
Pull out initial game setup into methods
Moves Shoes application code before method defs to clarify flow of execution
Fix Shoes app width to show all 5 buttons
Rename sample30
Rename sample18
rename sample29
download spec works with VCR

* imported the async helper to make it work
Further download specs
Merge with master resolved
Use - instead of _; use shorter sample names; add new sample names to README
Rename potato chopping sample; Make sure tests pass
Add a keyrelease DSL method symmetric to keypress

This adds a `keyrelease` DSL method to listen to the user releasing a
pressed key. It works like the `keypress` DSL method.

To make this easier, this patch:
* extracts `Keypressed` to a KeyEvent superclass
* extracts key event handling to it's own method
* extract SWT KeyListener (both class and tests)
* internally allow KeyListener to listen to all keyevents
* changes one of the samples to also report releases
Add keylistener to app
Removing the types from listeners and instead introducing subclasses

* I think that objects with a type instance variable are a smell
  and should rather be proper subclasses. So that's what I did.
  And it removed an if. I bet Tom would be proud of me :-)
* Also removed the unused opts argument and some unused instance
  variables. They're just confusing.
* I kept the main class and the subclasses in one file since they
  add very little (or even nothing) to the main class