bugfix: handle case where histories file is in non-existent directory

If histories file doesn't exist, jedi would create it.  But what if the
directory didn't exist: then it would crash.  Fixed with a rescue, for
now.

	modified:   src/histories.rb
cleanup: split filebuffer into 3 files

Even though these are very related, I thought the readability would
improve by splitting them up.

	new file:   src/fileaccessor.rb
	modified:   src/filebuffer.rb
	new file:   src/textbuffer.rb
bugfix: read empty file should result in [""], not []

When an empty file is read, we need an empty string in the array.

	modified:   src/fileaccessor.rb
testing: added a bunch of unit tests

Created a simple testing class, and a bunch of unit test.
Coverage needs to be improved.  Some bugfixes are included.

	modified:   src/bufferslist.rb
	modified:   src/compatibility.rb
	modified:   src/filebuffer.rb
	modified:   src/syntaxcolors.rb
	modified:   src/textbuffer.rb
	modified:   src/utils.rb
	new file:   test/bufferhistory.rb
	new file:   test/bufferslist.rb
	new file:   test/compatibility.rb
	new file:   test/copybuffer.rb
	new file:   test/editor.rb
	new file:   test/fileaccessor.rb
	new file:   test/histories.rb
	new file:   test/keymap.rb
	new file:   test/syntaxcolors.rb
	new file:   test/test.rb
	new file:   test/textbuffer.rb
	new file:   test/utils.rb
feature: better install script

Can now be installed as root.

	modified:   install.sh