Fix loading foreign key entities

If the parent entity had it's primary key defined in a base class the
child entity would not get loaded and would return null
Added attribute tests

Refectored some parts of the code that were checking to see if an
attribute exists. More instances can be replaced using this method
Loading child entity with ignore attribute

Simplified the SetChildToObject<T> method. Now loading a child entity
with a readonly ignore property does not throw an error. See
Get_parent_entity_with_child_having_an_ignore_attribute test fixture in
GetTest.cs
Allow parent entities to new up child entities

This commit allows a parent entity to instantiate a child entity in the
parent constructor and still have the TableQuery load the child entity
on lookup.

Previously the lookup code would not initialize the child entity unless
it was set to null.
Merge pull request #1 from ewilde/master

Fix loading foreign key entities with base class primary key