massive overhaul: added class variables to hold relationships to other models, replaced getClassName with inherited getModelName, added optional parameter to pass into getIdField. Find now hands off to buildQuery function to build the database query based on params array, added support for building a query for 'joins' and automatically set these relationships up with hasOne and belongsTo is set in the model's class. Joins are assisted by buildForeignObjects method to extract foreign objects from the SQL row returned.