Reformat the use of curl to easily allow for additional parameters

This patch contains no logic changes.  It only adds whitespace so that
additional parameters to curl will not cause the command to march too
far off the right of the screen.
Add the ‘Accept’ header to all HTTP requests

GitHub provides a number of custom media types for clients to use with
API methods:

    http://developer.github.com/v3/media/

This patch changes all of the API requests so that they include the
‘Accept’ HTTP header with GitHub’s JSON media type.  This does not
affect the current behavior but it will be helpful and more consistent
to use moving forward.
Teach the program to recognize the ‘-v’ and ‘--version’ options

This patch allows the program to accept those two options, causing it
to print its version number and then exit successfully.  Trying to use
any other options makes the program exit with an error; the status
code for this error is one, and the previous exit code for failing to
find the remote repository now has the value two.  If the user
provides no options then the program lists all of the fork URLs
exactly like before.
Define the program name as a variable

There are two places where we need the program’s full name:

1. The User-Agent string.

2. The value for getopt’s --name parameter.

This patch defines a $NAME variable containing the name so that we do
not need to repeat ourselves in those two places.
Show a usage string when the program does not recognize an option

The getopt program will report any unrecognized options but the
comments in the code explain why we silence that error reporting.
Show the program name in the ‘--version’ output

This change is for consistency, as a lot of programs use the “$NAME
$VERSION” format for their version output.
Invoke getopt with ‘--quiet’ to improve readability

This has the same effect as sending Standard Error to /dev/null but it
makes the intention to silence output more obvious.
Add the ‘-h’ and ‘--help’ options to display the program’s usage
Improve the readability of the usage output

This patch assigns a heredoc to $USAGE, which is probably yet another
‘Useless Use of cat’ to be honest.  The patch also removes $NAME from
two places that show $USAGE since the value of $USAGE now contains the
$NAME value, so we do not want to repeat it.
Accept and document values for the ‘--format’ option

This patch is the first step towards displaying the output URLs in
different formats.  We begin by teaching the program to recognize the
‘-f’ and ‘--format’ options, requiring a value.  The patch lists the
acceptable values and provides an example URL of each format.
However, we currently do nothing with the new $FORMAT variable,
meaning it has no effect for now.
Show different URLs based on the ‘--format’ option

This implements the behavior for changing the format of the URLs the
program displays.  Now the program can show URLs for forks in all five
formats documented for the $FORMAT variable.  The patch also bumps the
minor version number for this valuable addition.
Do not set any variables based on $OPTIONS

The program does not accept any arguments, only options.  Therefore we
do not need to call eval to extract arguments from $OPTIONS.