Basic argument parsing implemented

The script will now parse the inputs and separate out the various flags
and parameters. Unfortunately, the use of getopt/eval set means that by
the time they're done with the input arguments, there is really no way
to tell if the input file name contains spaces or if there are multiple
file names that have been supplied. All semblance of shell-specific
quoting is gone by then.

So, the script will just check if whatever remains is a valid file that
can be read. If not, throw an error.

The script is ready to be executable. The main function will just list
the arguments it was able to parse.
Script is now executable
Begin implementing the main function

At this point, the main function simply tests if the input file is a
plain text file or not. If it is, the script exits successfully. If not,
an error is thrown.
Use the full path of the SRT file

This should make it safe to call from a different directory than the one
the file is in.
Splitting god function into multiple pieces

The first step is to fix the encoding, so the function is now renamed to
indicate that.
Use iconv to convert encoding to utf-8

The fixEncoding function now uses iconv to convert whatever encoding the
file came in with into utf-8. A temporary file is created using mktemp
to store the converted file and a copy of the main file is made to
preserve the original.
Simpler idiom to exit when a test fails
Two more ways for the program to flag an error

The first is when the step to make a back up copy of the original file
fails. It could fail, for example, if the user doesn't have write
permissions in the directory. In this case, the script would rather not
do anything.

The second way to fail is if the iconv command fails to complete the
conversion. In this case, the main file is still untouched and we've
even made a backup. So, no harm done if we exit.