Persistence Layer

Merging the DBConnector, DBConnectorTest, BananasDAO, ShoppingListDAO, and ShoppingListDaoTest will get the main repo up to date with the persistence layer.
test code is great to see  - but needs to be cleaned up a bit. 
Remember, a test just tests one public method in one way. 
You might have many tests for a single method - both negative and positive. 
A negative test, verifies expected errors.  for example: 
@Test(expected=IndexOutOfBoundsException.class)
public void testIndexOutOfBoundsException() {
    ArrayList emptyList = new ArrayList();
    Object o = emptyList.get(0);
}

Test cycle:
- setup known state (via @setup)
- change that state - e.g. execute code you want to verify operation of 
- assert that the state changes in the expected way
- cleanup any changes you made to the state - restore it to previous before test state using @after