Stable contacts list

Wrote a custom data structure to support the contacts list, and custom contacts objects. Added json encoding and decoding methods for contact objects (using __dict__ conversion), and touched up contact validation so it properly validates multi-word names.