Move the write portion of fragment_for to its own method.

To allow for easier creation of custom cache methods.

In this commit I moved the write portion out into its own method called write_fragment_for. Which allows for easier creation of custom cache helpers that involve doing some type of action when the cache is or is not expired. Or for the creation of cache methods that might be passed additional procs/lambdas that need to be called before the view is rendered.