Fixed error output on Win32. Added more configurable settings. Polished documentation.

* Fixed #7. Apparently, the Sublime Text 2 API changed and method names are
  now underscored in Sublime Text 2 API. This broke opening of the error output
  view. Not sure, whether compatibiity with earlier ST2 APIs might be an issue?
* Removed '-sbdl' from default PerlTidy options and added '-sbl'. '-sbdl' is
  an unknown option.
* All configuration settings are now user configurable, with sane fallback
  values. In addition to "perltidy_cmd", now also "perltidy_options" and
  "perltidy_default_rc_paths" may be specified.
* Changed "perltidy_cmd" handling. Now, its value may also be an array,
  specifying where the Perl interpreter and where PerlTidy is separately, i.e.
  [ "C:\\strawberry\\perl\\bin\\perl.exe", "C:\\strawberry\\perl\\site\\bin\\perltidy" ]
  instead of using wrapper "C:\\strawberry\\perl\\site\\bin\\perltidy.bat".
  Useful on Win32 systems, or where the shebang in perltidy specifies a wrong
  Perl interpreter.
* "perltidy_rc_paths" now allows the user to specify possible perltidy.rc
  locations. Full file paths are also allowed and will be handled properly.
  Note that now only the first perltidy.rc found in project will be used.  This
  prevents error messages from perltidy.
* Output from PerlTidy is now only inserted, if no error occured while
  running PerlTidy.
* Cursor repositioning after running PerlTidy is done now only, if no
  error occured running PerlTidy.
* Updated documentation.
* Bumped version number to 0.0.2.
Fixed documentation typos.
Fix for issue #3 and issue #4. Added debugging messages.

* Default settings now in DEFAULT_SETTINGS.
* User will now get a warning, if the command provided in "perltidy_cmd" is
  invalid.
* When running on Win32, will now search for "perltidy.bat" instead of
  "perltidy", if user did not specify "perltidy_cmd".
* Changed subprocess handling. Now using Shell=False, when running commands,
  so we won't have to escape arguments, before passing them to perltidy. This
  will most likely fix issue #3, though I am not able to test it.
* Changed passing input to perltidy/reading output from perltidy. If the data
  to be tidied contains any non-ASCII characters, temporary files will be
  used to pass/read data. This allows us for non-ASCII data to be handled
  correctly. Fixes: issue #4.
* Added debugging messages. Verbosity level can be set by user in
  "perltidy_log_level".
* Documentation updated.
* Reformatted JSON sublime-keymap files.
* Version bumped to 0.0.3.
Fixed local variable 'perltidy_rc_path' referenced before assignment.

* Usage of DEFAULT_SETTINGS fixed.
* Minor PEP warnings fixed.
Error handling and hints for common problems added. "perltidy_enabled" implemented.

* Exception handling for running perltidy added. Errors will be checked
  for some common errors and additional hints will be printed on the
  ST2 console.
* Restructured code and moved perltidy command validation to
  is_valid_perltidy_cmd().
* Logging moved to log().
* get_perltidy_rc_path() renamed to find_perltidyrc_in_project().
* Searching for perltidy is now done in 3 steps, with fall back to some
  platform specific defaults. This might help with standard Strawberry
  installations on Win32.
* Additional diagnostic messages added, when running with
  "perltidy_log_level" >= 2.
* Documentation updated.
* Version bumped to 0.1.0. Using kind of Semantic Versioning now.
  See http://semver.org/ for more info.
Fixed error: "NameError: global name 'pp' is not defined". Should have been self.pp() instead.
Fixed WindowsError 6 "Invalid handle" while running perltidy on Win32.

* WindowsError 6 "Invalid handle" occured, while running perltidy via
  subprocess and using temporary files for I/O with perltidy. The error
  occured, because we were not passing PIPEs for STDIN/STDOUT to
  subprocess. This seems to occur on Windows XP only and is somehow
  related to http://bugs.python.org/issue3905. Fixed by always
  providing subprocess.PIPE for all three handles.