So many changes in this commit.

I am making some major changes to the way the Buffer is represented in the background.

The new ObservableBuffer's (previously gui.Buffer) contents are represented as an array of strings 

I created a Utility class to hold code to transform this array to a string and vice versa

I have modified the insert table algorithm a little. 

I removed the multiple calls to the insert method and instead repeatedly add the elements to a string (using concatination). Then add the whole string with one call to a new general method called insertContent.

insertContent should also be used whenever this functionality is desired. 

Also I made the algorithm more efficient. From O(n^2) to O(2n)

I fixed the issue with not being able to identify the current tab.

Created a class called FiveSecondsTab which extends JPanel. Instead of going through the process of create new text area, then scroll pane, then create tab, and insert scroll pane. Just create an instance of the FiveSecondsTab.

Doing it this way has the added benefit of being able to add properties to the object. So the ObservableBuffer for any give tab is a member of the FiveSecondsTab object.

Open File works