set up "working" tests for path pattern compilation

Note: We can optimize the tests by compiling only once for each group of examples
all but one example of the path pattern compilation tests work
clarify variable name
grouping the path pattern examples by regexp, use \A...\z instead of ^...$
possibly fixed a path pattern compilaction bug, added a commented spec for :name(.:format)?

(see https://gist.github.com/2154980#gistcomment-169469 on the second part)
/:foo still parses /foo.bar correctly
test rewritten, uses DSL as described in https://github.com/sinatra/sinatra/pull/492#issuecomment-5069108
also test if the correct regexp is generated, refactored test methods
.
marked test that fails in 1.8
fixed test method, fixed test examples that should parse
unless nil? -> if
"splat" param now contains all matches in an array, föö test now conforms to the original one
use a method that identifies an array also in 1.8.7
at least it fails already
add closed? method on Stream object to inspect the object's open/close state

Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>
Typo corrections and minor copy editing of README.rdoc
Include information about :after_handler exception setting
added rdoc option in gemspec
which will force utf-8 encoding irrespective of the locale
settings of the user.
Merge pull request #547 from matschaffer/doc/after-handler

Include information about :after_handler exception setting