made messageType a readwrite property, refactored init methods

I changed messageType to be a readwrite property and removed the specialized init methods that took it as a parameter. The logic was moved into setMessageType and I added setMessageType:withView to allow a custom statusView. 

I also moved the logic for creating a text label into a separate method that is called from both initWithText and setText.