refactor the whole plugin

I think that the behavior remains mostly unchanged appart from the following changes:
 * New features
   * **It now uses autoloading!**  The source also gets smaller and cleaner by removing parts of the code that went totally unused.
   * A new option `g:indexed_search_mappings` that, if 0, does not map `/?*#nN`. Useful if you prefer to use `:ShowSearchIndex` directly.
 * Removals
   * **It no longer works in vim6** :disappointed:. I hope that's not a problem though, the last vim6 release was back in 2005.
   *  Options `g:indexed_search_keep_cursor_on_initial_result` and `g:indexed_search_show_index_mappings` were removed, if someone wants the functionality he can do the mappings himself.
 * Changes
   * `g:search_index_max` renamed to `g:indexed_search_max_lines`
   * `g:search_index_maxhit` renamed to `g:indexed_search_max_hits`
   * By default `:ShowSearchIndex` follows the aforementioned limits. If you want the old default behavior bang it.