Add Transport:sendfile/4,/5

Adds `sendfile/4` and `sendfile/5` to `ranch_tcp` and `ranch_ssl`, and `sendfile/2,/4,/5` to `ranch_transport`. There is a random property based test, done by hand - didn't want to add a dependency though could use a property testing lib.

I believe this relates to: extend/cowboy#306 extend/cowboy#313 #22

Edit: I've amended the commit to remove unnecessary file:position calls in ranch_ssl:sendfile/2 (and /4,/5) that the previous version of this commit had introduced.