Add optional segments in route.

Indicate an option segment via the use of `:?` instead of `:`.
Revert fix of #47 (Should be done in seperate branch)
Merge pull request #51 from Scaffold/issue-48

Add optional segments in route.