Refactor plugin-loading functionality

Hi,

I've had this small refactorization in my fork since 2012. It doesn't break any of the original functionality but it allows oh-my-zsh's plugins to loaded after sourcing `oh-my-zsh.sh`, by calling the new function `load_plugin`. Wonder if that's a good name or if you think it's polluting the zsh namespace.

Here's the changelog.

```
* oh-my-zsh.sh (add_plugin_fpath, source_plugin_zsh)
(load_plugin): New functions.
[top]: Use source_plugin_zsh and add_plugin_fpath
```
Nice one. I just more or less blindly copied code, as you have probably guessed...