[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.
This is an interesting example. How do we deal with encoding in this case? What is this actually doing? How do you deal with files that are not UTF8 encoded? 

Also show an example where you provide the filename