Canonical keymaps

Changes the main keymap to follow emacs standards. This allows changes to `projectile-rails-mode-goto-map`, `projectile-rails-mode-run-map` and the new `projectile-rails-command-map` to propagate correctly. It also allows alternate prefixes in `projectile-rails-mode-map` to reference any of these keymaps.

Previously a change to the inner keymap was not possible, it was only possible to do something like:

```
(define-key projectile-rails-mode-map (kbd "C-c r $") 'some-function)
```

Which worked because it changed the outer keymap to include a keybinding before an inner keymap.

Now it's also possible to do something like:
```
(define-key projectile-rails-command-map (kbd "$") 'some-function)
(define-key projectile-rails-mode-map (kbd "<menu>") 'projectile-rails-command-map)
```

And both `<menu> $` and `C-c r $` would call `some-function`.