Maintain a list of core DAOs

This is an improvement on CRM/Core/DAO/listAll.php, wrapping in a class
and making the table names available as well.
CRM-10592: custom group and field names can be specified explicitly.
CRM-12463 (BAO cleanup)
CRM-12463
Merge pull request #609 from yashodha/NEW-CHANGES

CRM-12463 (BAO cleanup)
enhance contribution test to handle multiple soft credits
more work on CRM-12463
Merge pull request #612 from kurund/CRM-12463-fixes

more work on CRM-12463
worked on CRM-12357
Merge pull request #614 from kurund/CRM-12357

worked on CRM-12357
whitespace fixes
worked on CRM-12463, more fixes
Merge pull request #616 from kurund/CRM-12463-fixes

CRM-12463 fixes
more work on CRM-12463, form building js fixes
Merge pull request #617 from kurund/CRM-12463-fixes

more work on CRM-12463, form building js fixes
whitespace fixes
Merge pull request #618 from kurund/CRM-12463-fixes

whitespace fixes
CRM-12357 upgrade part
worked on CRM-12463, more cleanup
Merge pull request #626 from kurund/CRM-12463-fixes

worked on CRM-12463, more cleanup