Fix 0-length range responses.

There were two issues:

- file:pread() returns eof in the case when the length of the
  read is 0 bytes, for any offset.  This causes badarg exceptions
  later in iolist_size when the 'eof' atom is encountered instead
  of a binary

- The range-length computation is off by 1 for 0-length ranges:
  {Skip, Skip + Length - 1, PartialBody} would result in e.g.
  {0, -1, eof}. {0, -1} is invalid HTTP according to

  http://tools.ietf.org/html/rfc2616#section-14.16

     A byte-content-range-spec with a byte-range-resp-spec whose
     last-byte-pos value is less than its first-byte-pos value,
     or whose instance-length value is less than or equal to its
     last-byte-pos value, is invalid.

This patch fixes both issues.
Merge branch 'mochiweb' into fix-zero-length-range-response
Added session module for use of secure cookies
Added some tests. still getting errors though
Trying new encoding ways
Mochiweb session it's functional now
Working on Dymitri
Still workin on Dymitri's suggestions
There is only one place to put user or any kind of data now. I don't really understan the security implications of this. There is no term_to_binary in the code now.
Working on improvements suggested by doubleyou
Fixed the final notes
Some formatting applied
Merge pull request #94 from lhft/master

Session module for managing session cookies
replace now() with os:timestamp() in acceptor
Merge pull request #102 from tsloughter/master

replace now() with os:timestamp() in acceptor
normalize whitespace in mochiweb_session
update CHANGES and version for v2.5.0
start crypto before running msession tests
change test matrix to R14B04, R15B*, R16A
travis R16B