Proper tests message carbons

Proper tests for message carbons. Please review and leave comments for final merge.
@shambhuprasad58, could you please remove the commented lines in the data generators? They don't help in understanding :)
This concerns lines: 72, 76, 80, 84, 88, 92, 96.
Also, it would be great if the lines didn't exceed 80 characters.
You could break up the arguments to xmlel like so:
```erlang
xmlel("message", 
      [{<<"type">>,<<"chat">>}],
      [xmlel("no-copy",[{<<"xmlns">>, <<"urn:xmpp:carbons:2">>}],
      [])]).
```

One final nit-pick, also stylistical: instead of calling the generators `create_*`, it's a convention(?) in the QuickCheck/PropEr world to name them like types. So we'd have a test stating:

```erlang
?FORALL(Msg, simple_chat_message(),                         %% For all Msg, where Msg is a simple_chat_message()
       forward == mod_carboncopy:classify_packet(Msg))) %% Msg will be classified as 'forward'
````
This is just for future reference.