Prevent AppRouter._processOnRoute() passing "undefined" to _.invert()

Prevents `AppRouter._processOnRoute()` passing "undefined" to `_.invert()` when appRoutes is configured only via constructor.

If appRoutes is configured when AppRouter is extended, `this.appRoutes` is defined.
If appRoutes is configured via constructor, `this.appRoutes` is undefined (held instead at `this.options.appRoutes`).

`AppRouter._processOnRoute()` passes `this.appRoutes` to `_.invert()`, which throws a TypeError when undefined.

Fixed by replacing `this.appRoutes` with `this.getOption('appRoutes')`, which searches `this.options` and `this`.
Our sinon setup runs as a sandbox for each individual test, so theres no need to restore any spies or stubs.