New basis for Doctrine for CiviCRM.

This is a little different than my first attempt. I'm using annotations
instead of YAML now, mostly because I'm agree with Tim in that it would be
nice to have the database information near the definition in the entity. The
only thing I'm worried about is if we start putting other files in this new
hiearchy in src, that it will slow down the annotation parser because it will
have to read in a bunch of non entity files. I think YAML would be better in
that case because we'd store the metadata outside the class file hieararchy.

I've also split out the entities into roughly the same hiearchy as the
existing CRM DAO objects. Seems more organized that way.

I also fixed the problems the earlier version had with loading the DB
settings when running in the production environment. Now the entity manager
looks for the CIVICRM_DSN constant and initializes everything using that.