1. Added Collections - so now Collections 0-->> Portfolio 0-->> PortfolioStock -- Stock, Stockholding ...  See the EER diagram https://raw.github.com/oehm-smith/StockFx/e405cafeefc1b4dbf31e16ad0e92d9814f56ba11/stockfx/Models/AdvancedDataModel.png
2. Added PortfolioStock (also see EER diagram).  Now to get to Stocks it is now PortfolioStock ps.getStockId();
3. Added a whole lot of new Entities generated from the EER.  They just use String for example, instead of StringProperty.  As per a Todo I will be converting to use a lot of StringProperties (etc.) instead
4. Created an abstract class StockFxBorderPaneController which all the Controller's extend
5. I made the PortfoliosControllers class which has tables for Collections, Portfolios and Stocks have sub-controllers for each one (that extend extends StockFxSubController).  Cleans it up, gives them access to the @FXML
6. I had to manage the actions of new or open documents through the tab because I want tabs to remain open and have some behaviour when they
 are clicked upon.  The behaviour is - if the tab was opened due to a 'new' operation then it will remain in that mode allowing you to add new ones of that item.  It it was opened from an 'open' operation then selecting a different one from the parent screen will set it in that tab.  ANYWAY, to get this going I needed to use the change event of the tabPane.  But its indescriminate and there is no way to tell if the change was because the tab was newly created (the first time) or if the user clicks on it.  This event causes the tab to be populated (if in 'open mode') or cleared (if in 'new mode').  As this was done I had to do everything through the change event.  So opening an item doesn't set the fields in the new or existing tab, but a change event occurs and the event is passed on to the owning controller.  The controller then sets the fields based on which mode the tab is in.  Kinda backwards and I never liked it but seemed like the best option at the time.  See TODO 3 on suggestion of how to improve this (but need to think about it more).
 7. Changed how the TableView's are built.  Specifically the column definitions have all moved into classes for each table.  This encapsulates the info for each table separately and reduces the size of the PortfoliosController.  I thought about moving the table event handlers to the same or another class, but it doesn't make sense to separate those from the top-level controller.

TODO -
1. Changing the stock in that screen isn't reflected in the table on the main page until it is refreshed.  I've added property for Stock.companyName so first try and get this working.  That is use properties and bind the table cells to them.  http://docs.oracle.com/javafx/2/ui_controls/table-view.htm should hold enough answers.  Created #4
2. Change things like getStockId() to getStock().  Created #5
3. As reported in the changed items, clicking or opening a tab causes a change event and the controller populates the fields of the tab (if in 'open mode') or clears them (if in 'new mode').  But I don't like it.  Instead the easiest solution would be through binding from the fields in the tab's form to the list of items on the parent page.  But how to handle new items?  I'd have to think about this fully.   Created #6