database access and table separation

addresses the following issues:
- create new noteset + create related notes in database
- separate out notesets and notes
- separate database opener and data source methods