more readable with parenthesis
add parenthesis for tuples
another small refactoring with defaultdict
new attribute _external_id and method Model._get_external_ids; closes #24