Don't invoke VimEnter on source if has('vim_starting')

If a bundle is autoloaded due to code in some plugin's after/ directory,
g:loaded_neobundle will be set but VimEnter won't have been invoked yet.
In this situation, we don't want to manually invoke it.
Call on_source for non-lazy bundles earlier

The on_source hook is supposed to be called after the bundle is added to
the &rtp but before any of its code has run. This works correctly for
lazy bundles, but non-lazy bundles were calling on_source in response to
VimEnter, well after any plugin code was loaded.

Instead, call on_source in response to neobundle#end() if we're still
initializing, and then call on_post_source in response to VimEnter. The
delay between on_source and on_post_source is now slightly longer than
normal, but I think that's ok.

The motivation for doing this is so any code that configures the plugins
in .vimrc can be written without knowing if the bundle is loaded lazily.
Merge pull request #322 from kballard/non_lazy_on_source

Fix on_source for non-lazy bundles