Rename func_spec to allow rendering as markdown

The original functional spec doesn't display nicely on Github because it contains no formatting information and it does not have the ".md" extension, which tells Github that it is "markdown". I propose renaming the file and adding some formatting code to make it more readable. There are more things you can do in markdown (google it if you are curious!).