Make flash plugin no longer depend on sinatra-flash

sinatra-flash depends on sinatra, which depends on rack-protection,
which are heavy dependencies for something so simple.

This is a new implementation of the sinatra-flash API.  Compared
to sinatra-flash, it is simpler and should be marginally faster,
plus it allows #keep and #discard to work with nil values.  Also,
you can call .new without an argument.

This also changes the session key used for flash to be :_flash
instead of :flash, to lesson the chance of conflicts.