[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.
Why not just a `StreamResult`..similar to System.Net.Http's `StreamContent`...I should be able to grab the stream from anywhere and just put over the wire and this needn't necessarily be a downloaded as a file...