Make sure that the source in the card object is optional!
Make sure we actually raise an exception if we get an invalid document
and print the result to stderr
Remove misc print statement at the end of the function
that loads definition files and make sure we thoroughly check
that we should just use the cards name since before this commit
it would be true if 'nosuitname' had a value of false since
the parent has the attribute of nosuitname.