add abstract datamapper classes
use datamapper classes in stocks
add prepare cursor method
fix cursor bug
use new datamapper in reports
fix id
add datamap callback
Merge pull request #1 from melvinmt/2.x/refactor

2.x/refactor