Enforce user defined maximum payload limit for issue #28

- Limit can be set as WebSocketCommonProtocol.max_msglen
  attribute
- read_frame()/read_data_frame()/read_message() now
  accept an optional parameter maxsize
- New exception PayloadTooLarge

for issue #28 
Ah, I eventually realized this is a per-message limit, not a per-frame limit. Sorry, "message" is the right vocabulary. Since this isn't obvious, we should explain it in a comment.