[Fixes #429] FileResult

1) Implemented FilePathResult to efficiently return files from disk.
2) Implemented FileStreamResult to return content from a stream.
3) Implemented FileContentResult to return content from a byte array.
@Tratcher I'm not sure what you mean by ```Lenght - Position```. Do you mean they are different things or the actual calculation, because in this case output will always be FileStream.Lenght, won't it?