Generalize file descriptor slice construction

Instead of breaking when `OpenFiles()` receives "-", it simply appends
standard input to the slice of file descriptors.

This allows the user to specify - as a regular file, similar to `cat`.

    scramble file1 - file2

This also moves the logic handling no inputs to the main function.
Improve error handling

  * replaces default Go message with coreutils-like message
  * removes unnecessary error check after docopt parsing
    (docopt.Parse() will call os.Exit() on error)
Force options to come before positional arguments