Add support for dot notation in lookupOption

Opening this in favor of #959.

```js
Router.onBeforeAction(function() {
  loginTemplate = this.lookupOption('authenticate.loginTemplate');
});

Router.route('/', {
  authenticate: {
    loginTemplate: 'signIn'
  },
  name: 'home',
});
```
Hey @zimme! i'm finally getting a chance to look. Just a couple of comments:

* iron:core has a method called `Iron.utils.resolve` that resolves a value given a string namespace. Can we use or modify that? Sorry I forgot about it in previous comments: https://github.com/EventedMind/iron-core/blob/master/lib/iron_core.js#L143. Looks like it needs to be modified to accept an object parameter instead of just using `Iron.utils.global`.

* Since this is a major code path and will get called all the time, often multiple times per route run I'd like to not do two lookups for every key. I think it's safe to say that an `undefined` value means we continue the lookup. So the code could be something like:

```
var resolve = Iron.utils.resolve;
var value;

value = resolve(key, opts);
if (typeof value !== 'undefined')
  return value;
```