Added support for new hook formats. WIP.

There are two generations of hook formats - old-style and new-style.

Old style formats:

- hook_setting: foo -- Resolves 'foo' to CURRENT_PC/hooks/foo.py
- hook_setting: default -- Resolves the value from the info.yml manifest
  and uses the default hook code supplied by the bundle.

New style formats:

- hook_setting: /foo/bar.py -- absolute path.
- hook_setting: {self}/path/to/foo.py -- looks in the hooks folder in
  the local bundle.
- hook_setting: {config}/path/to/foo.py -- looks in the hooks folder in
  the config.
- hook_setting: {tk-framework-perforce_v1.x.x}/path/to/foo.py -- looks
  in the hooks folder of an instance that exists in the current
  environment.