1) Person-to-person? Check
2) Person-to-group? Check
3) Group-to-group? Check
4) Group-to-person? Check
5) Multimedia? Check
6) Fancy formatting? Check
7) Attached files? Check
8) Near real-time? Check (most of the time)
9) Deliver Fault tolerant? Check
10) Federated/distributed? Check
Why everybody seems to want to reinvent email is beyond me. About the only thing that FB or G+ offer is the storage of a server-side contact list so I don't have to remember their email address and the use of a white-list for sender/receivers so I don't get spam. Offer the same with email and a decent web interface and you've basically recreated any "modern" social network, except it'll be built on a time-tested, robust protocol that's already ubiquitous across the internet and already has billions of users.
edit I guess what I'm saying is that it's the application layer (server and client side) in the email equation that needs most of the rework, not the protocol layers.