Assert Messages with printf style formatting

For easier more outspoken error messages asserts now have printf style formatting.
This pull request also removes some symmetric code paths. 

Old api has not changed