Issue2868

Implementing Issue 2868:

Implementing raising TypeError upon nonworking format string instead of value error, handling it above the point where it was originally raised to include information about the exact point of failure.

Additionally getter and setter were implemented to raise the error as soon as it can be determined to not work (aka when setting it).

Format is checked for all existing entries in case of np.object-ish and for one entry for other types as this should be sufficient and more efficient for large tables.
Is there a reason you can't just use ``self._format``? (as a convention, we try and use the property name with an underscore in front)