[jsinterp] Implement splice and general improvement

I still get 403s on YouTube though.
[jsinterp] 'reverse' modifies the array in place (fixes #3334)
release 2014.07.24
[jsinterp] Do not expect dot in simple function call
[test_youtube_signatures] Modernize
Regroup and hide workaround options

These options are rarely necessary. Hide them to make the important options in the general group more obvious.
Group cache-related options under filesystem
Reorder filesytem options

* Push down the deprecated ones
* Roughly order file-name, no-*, write-*, further options
deprecate --title

This is the default already. If you want a specific format, pick it with -o or --id.
Add --rm-cache-dir
Replace failure handling with up-front check.

The only time that write_string should fail is if the Python is completely braindead.
Check for that condition and output a more accurate warning.

See #3326 for details.
[shared] Add extractor (Closes #3312)
[youtube] Fix player ID display
[jsinterp] Allow uppercase object names
[jsinterp] Add new testcase
[jsinterp] Fix slice
release 2014.07.25
[extractor/common] PEP8
[gdcvault] Add support for direct URL video type

Fixes #3356
release 2014.07.25.1