Externalize DocumentContainer creation in explicit method

Also move IdGenerator member to parent class. 
Now other DOAs can use the IdGenerator
Move the IdGenerator member from DAOs to this DAO-parent class
Make setter/getter for sessionFactory protected