#163 Removed unneeded calls to JobContext.Flush().

* Running into issues with PowerShellRunner and persistent script sessions as a result. Checking in to share work in progress with Adam.
Don't dispose of script session if it is persistent
Better handling of null/empty result
Script sessions are now tied to HTTP session ID in order to avoid accidental sharing of script sessions between users

* also implemented a script session sliding timeout to avoid sessions being cached indefinitely
Added another null check for scripts that come back with empty results
Merge pull request #164 from SitecorePowerShell/163/jobcontext-flush-issues

Resolved JobContext.Flush() issues and implemented per-user persistent sessions - fix for Issue #163 & #166