major structural and internal improvements; new functionality;

 * autoload/evlib.vim:
  * added vim version checking (vim-7.0.0 and later is supported);
  * added s:EVLibLocalSetup(): one-time "global" (and parameter-less)
     configuration (certain module functions can be used after this
     function gets automatically called (on the script being
     "sourced"));
  * added evlib#SupportsAPIVersion(): major (and safe) way to check for
     API version compatibility;
  * evlib#Init():
   * added new check for the result of (automatically called)
      s:EVLibLocalSetup();
   * new "library script 'sourcing'" code: files
      '{root}/lib/evlib/parts/init/*.vim' will get automatically
      "sourced" in "sorted" order;
   * now this function conditionally updates the "library is
      initialised" flag;

 * autoload/evlib/compat.vim:
 * autoload/evlib/debug.vim:
 * autoload/evlib/eval.vim:
 * autoload/evlib/pvt/apiver.vim: [new]
 * autoload/evlib/pvt/lib.vim: [new]
 * autoload/evlib/rtpath.vim:
  * updated to use new evlib#pvt#init#ShouldSourceThisModule()-based
     inclusion control technique;

 * autoload/evlib/eval.vim:
  * added 'TODO' entry;

 * autoload/evlib/pvt/apiver.vim: [new] module that implements API
    version support functions (some of them called from the "main"
    'autoload/evlib.vim' library script);

 * autoload/evlib/pvt/init.vim: [new] module that implements internal
    functions that are meant to be used quite early (just after
    'autoload/evlib.vim' has been "sourced"), mainly (exclusively?) by
    other evlib modules;

 * autoload/evlib/pvt/lib.vim: [new] implements general usage internal
    library functions (to be used by other modules), including:
  * evlib#pvt#lib#InitPre();
  * evlib#pvt#lib#SourceEVLibFiles();
  * evlib#pvt#lib#SourceExternalFiles();
  * and some others, more "internal" than the ones above:
   * evlib#pvt#lib#ThrowEVLibException();
   * evlib#pvt#lib#InternalScriptSaveOptions();
   * evlib#pvt#lib#InternalScriptRestoreOptions();

 * autoload/evlib/rtpath.vim:
  * minor comment changes;

 * evlib_loader.vim:
  * added vim version checking (vim-7.0.0 and later is supported);
  * improved internal documentation;
  * it now adds the library "{root}" directory to the beginning of
     '&runtimepath' (it was appended in the previous commit);

 * lib/evlib/c_main.vim: [new] new simple file with global constants
    (currently, only g:evlib_global_api_version_list is defined);

 * lib/evlib/parts/init/05-run_pre_init.vim: [new]
  * defer to "user" vim scripts "sourcing":
   * '{runtimedir}/lib/evlib/init/pre/*.vim';
 * lib/evlib/parts/init/95-run_post_init.vim: [new]
  * defer to "user" vim scripts "sourcing":
   * '{runtimedir}/lib/evlib/init/post/*.vim';

 * test/bin/run-tests.sh:
  * comment updates (mainly 'FIXME:' -> 'TODO:');

 * test/common.vim:
  * comment updates ('FIXME:' -> 'TODO:');
  * new functions:
   * internal:
    * s:EVLibTest_Util_ThrowTestException_Custom();
    * s:EVLibTest_Util_ThrowTestExceptionInternalError();
  * EVLibTest_Do_Batch(): added "success" return value;
  * new "group support" utility functions:
   * internal:
    * s:EVLibTest_GroupSet_GetDictEntryFromDict();
    * s:EVLibTest_GroupSet_GetDictFromParsList();
    * s:EVLibTest_GroupSet_GetDictEntryFromParsList();
    * s:EVLibTest_GroupSet_PopulateDictionaryCopy();
    * s:EVLibTest_GroupSet_SetDictionaryEntrySafe();
  * EVLibTest_Do_Batch()-related argument format improvements (don't use
     the dictionary-based element format, unless it's necessary);
  * EVLibTest_GroupSet_LoadLibrary_Custom():
   * major parameter format refactoring;
   * improved customisation level (supports 'precheck', 'preinit',
      'libinit', 'postinit', 'epilog' stages);
   * refactored the following functions to use the new parameter format:
    * EVLibTest_GroupSet_LoadLibrary_Method_Source();
    * EVLibTest_GroupSet_LoadLibrary_Default();
  * EVLibTest_GroupSet_LoadLibrary_Method_RuntimePathAdjust(): (new)
   * allows for fine-grained initialisation control and checks (as no
      scripts are "sourced"/"runtimed");

 * test/vimrc_00_selftest-ex-local-nopass.vim -> test/vimrc_10_selftest-ex-local-nopass.vim [renamed]

 * test/vimrc_01_selftest-ex-local-pass.vim -> test/vimrc_11_selftest-ex-local-pass.vim [renamed]

 * test/vimrc_22_selftest_init_runtimepath_01-ex-local-pass.vim: [new]
  * test the helper function used to check side effects (to avoid false
     positives) (EVLibTest_Local_CounterCheckAndExec());
  * test EVLibTest_GroupSet_LoadLibrary_Method_RuntimePathAdjust()
     (including its custom "stages");

 * test/vimrc_02_init_source-ex-local-pass.vim -> test/vimrc_42_init_source-ex-local-pass.vim [renamed]

 * test/vimrc_03_init_vundle-ex-local-pass.vim -> test/vimrc_43_init_vundle-ex-local-pass.vim [renamed]

 * test/vimrc_04_init_runtimepath_auto-ex-local-pass.vim -> test/vimrc_44_init_runtimepath_auto-ex-local-pass.vim [renamed]

 * test/vimrc_61_init_libstate_01-ex-local-pass.vim: [new]
  * only a prototyped test is available in this commit (to be
     implemented properly later);

 * TODO:
  * marked implemented work as 'DONE:';
  * added new ideas and comments;
  * minor re-indenting and tidying up;