Move examples into 'examples', fix problems, cabalize.

I had the example programs

 SPing.hs
 SGet.hs
 SServe.hs
 tls-client.hs
 tls-server.hs

in the main directory, and a Makefile with which to
build and run them. This commit moves the sources
below 'examples', and adds sections to the Cabal
file for building them. Although the Makefile built
these programs with optimization (-O), I haven't
preserved that flag in the Cabalized build. Later
on I'll use a flag to control whether the build
optimizes or not, so the library and example programs
can all be built with similar options.

Along the way I had to fix four separate problems:

1. Use 'Main' as the module name in each example.
   The originals did not declare a Main module, but
   without it 'cabal run' can't run the programs,
   even with a 'main-is' declaration. This might be
   a recent change in GHC, or perhaps a limitation
   of Cabal. In any case, I suspect that it's unusual
   to not have a module named 'Main', so I've changed
   the module name to 'Main' in each example.

2. Adapt to changes around parsing PEM files.
   The functions for parsing PEM files have moved
   into a separate 'pem' package, and the interface
   is slightly different. I'm not sure that I'm doing
   it exactly right (I'm concatenating the content
   sections if there are multiple PEMs in the given
   file arguments) but the moment I can serve parts
   of the 'static-tmp/words' file using SServe.

   It turned out I needed to make similar changes in
   SServe.hs and tls-server.hs; I had forgotten that
   tls-server.hs was the prototype on which SServe
   and Network.SPDY.Server are based.

3. Make fixes in tls-client.hs and tls-server.hs that
   are similar to the ones I had to make in
   Network.SPDY.Server that are required to use the
   newer crypto-random and tls packages.

4. Fix a bug in Network.SPDY.Server and in tls-server.hs
   regarding how we pick an IPv4 host address for
   binding the server socket. Before I was just
   foolishly assuming that the first address when
   looking up 'localhost' would be an IPv4 address,
   but this isn't necessarily true. On my current
   OS version I get an IPv6 address instead. At the
   moment, I've chosen to filter out IPv4 addresses
   and pick the first one. That's probably stupid
   too, but it will work until I learn the right
   way to do this.

With these changes, the five example programs run
and seem to do the things they are intended to do,
within the limits of what I've implemented in the
SPDY 3 protocol so far.

Since it was written for building the example programs
in the current directory, I've removed the Makefile.
This does have some profiling stuff that should be
interesting later, but for now there is no point in
having the broken Makefile around.
Minor adjustment in .gitignore.

The tmp-static directory is for the SServe example
program. Since we no longer build example program
binaries in the current directory, we don't need to
ignore them anymore.