Better consumer errors for non existing topics

This creates a model for better error management. There are a few other syntax issues I stuffed in here. If you don't want them let me know and I will remove them.