Add possibility to make states not to behave strict and allow optional params

I made some modifications to the ui-router to allow optional params, because i needed this as described here: https://github.com/angular-ui/ui-router/issues/539

For now it's possible to describe a state as being strict or not. These are modifications i made a few months ago and have been working for us in our development environment since then. I still need to update the test cases for this, but first wanted get some feedback on this.