Defer storing the session until it has a value set
Make the option template tag type agnostic.

This commit contains two enhancements.
First: Set the element to selected if the flash is empty, and the current field value equals the value passed in.

Second: The type of the val passed in is now a generic interface{} so that integar values passed in match the value of the field.
Without this change, integer fields passed into val are turned into strings, and will not match the integer value reported by f.Value()
Condense logic slightly
Fix #343
Removed log statement that causes a lot of unncessary output
Use a mocked default config for the redis tests
Remove superseded test config file
Add NewMergedConfig to create a default empty config object
Rename to NewEmptyConfig to more accurately describe behaviour
Properly close the WriteFlusher instance

Based on @klauspost's suggestion
Merge pull request #596 from revel/klauspost/redis-cache-options

Expose redis cache options to config
Merge pull request #588 from revel/develop_option_enhancement

Make the option template tag type agnostic
Merge pull request #597 from revel/close-compress-writer

Properly close the WriteFlusher instance
Merge pull request #587 from revel/pushrax/defer-sessions

Defer storing the session until it has a value set
Merge pull request #603 from klauspost/develop

Redis Cache: Save a roundtrip on delete
Allow errors from redis delete calls to be returned

Extension to #603
Added MakeMultipartRequest which issues multipart requests for the supplied HTTP method

formatted with go fmt

updated the case of content-type to Content-Type in MakeMultipartRequest()
Merge pull request #610 from thereallisa/master

Added MakeMultipartRequest() to the TestSuite
Fix `go vet` problems (#599)
Fix failed test
Reference correct source of goauth2 for CI runs