dialyzer fixes and comments
fix broken change to yaws_trace.erl from previous commit (thanks Kostis Sagonas)
fix compilation error in previous commit (thanks again Kostis)
change dialyzer Makefile targets to handle known warnings

At the suggestion of Tuncer Ayaz, modify the dialyzer targets to use the
new known_dialyzer_warnings file to ignore all known dialyzer warnings.
add rebar dependencies needed for SOAP applications

Use rebar.config.script to dynamically add SOAP dependencies if the shell
environment variable YAWS_SOAP is set. This way, Yaws users not interested
in SOAP do not need these dependencies.
make handling of cookie names case insensitive

According to RFC 2109, handling of cookie names is specified as being case
insensitive.

Also, add a couple cookie unit tests. More are needed though.
cosmetic comment and whitespace cleanup in yaws.hrl
Fix syntax and layout errors in yaws.conf.5
Make the target test dependent on the target all

So, when we run 'make test', Yaws sources are recompiled, if needed.
Update yaws.tex to have the same description of the config file...

...than in the manpage yaws.conf.5
Add options to configure deflate compression behaviour

By adding "<deflate> ... </deflate>" structure in vhosts configuration,
it is possible to configure how deflate compression will be applied
and when it will come into effect. Now we can:

 * define the smallest response size that will be compressed
 * define the compression level to be used
 * specify the zlib compression window size
 * specify how much memory should be allocated for the internal
   compression state
 * choose the strategy used to tune the compression algorithm

All these parameters are used when a zlib stream is initialized for
compression.

It is also possible to define all compressible mime types.
Here is an example:

<server localhost>
  ...
  deflate = true
  <deflate>
    min_compress_size = 4096
    compression_level = best_compression
    mime_types        = defaults, image/*
    mime_types        = application/xml, application/xhtml+xml, application/rss+xml
    mem_level         = 9
    strategy          = default
    window_size       = 15
  </deflate>
  ...
</server>
Check the Content-Length before reading the request's content

Some browsers, like Firefox, do not support files that are larger than 2GB.
Uploading a >2GB file causes an integer overflow and the Content-Length
header is set to a negative value.

To prevent any crash in this case, we check the Content-Length value before
reading the request's content. When the value is negative, an error 400 is
returned.

A bug about this problem is openned for Firefox:
    - https://bugzilla.mozilla.org/show_bug.cgi?id=215450
Fix bugs in yaws_api:parse_multipart_post/1,2 for chunked requests

For chunked requests, when several parts are parsed, only the first one was
processed properly. For the others, all the content of each part was needed
to be parsed. So when an huge file was uploaded, this bug could lead to a
memory exhaustion.

Note: Now, yaws_api:parse_multipart_post/1,2 can return '{error, Reason}'
if an error occurred during the parsing.
fix yaws issue #103: fix yapp exclude_dir paths (Mikael Karlsson)
doc update
Complete yaws:setup_gconf/2 and yaws:setup_sconf/3

In embedded mode, these functions are used to populate #gconf and #sconf
records. Now, all fields can be setup.
Remove safe_decode_path/1 from yaws_log and use...

... yaws_server:safe_decode_path/1 instead.
Make the parameter "x_forwarded_for_log_proxy_whitelist" obsolete

This parameter is now ignored and throws a warning when yaws starts.
If necessary, it can be replaced by a simple logger_mod on top of
yaws_log. To explain how to write such module, an example was added
into the www directory (www/logger_mod.yaws).
Move hostname resolution from yaws_server to yaws_log

It is useful to keep ip addresses unchanged when a specific logger is
used.
report uncaught exception as server error 500

In yaws_server we used to catch exceptions thrown by application code and
ignore them. Now, catch them and report a 500 error back to the client, and
include an error message similar to what occurs for unexpected exits in
application code. This makes debugging applications that unexpectedly throw
exceptions much easier. Thanks to Richard Carlsson and Samuel Rivas for
reporting this.