Caching for contactnames.

Hi,

This patch achieves two thing:
* Caching for contact names when creating the 'display name'. I read in comment that we should do that so I did.
* Better separation between Address and MessageHelper. I felt like an address should concern 1 address so I moved some functionallity that handled mutiple ones to the MessageHelper class ( this also better suited my caching ).

This isn't a big patch and I don't know if it actually in reallity realised a small performance gain but I needed this for another project and I thought I might as well offer it to K-9.

I compiled and tested it, seems like I didn't break anything this time :+1: 

If not needed/wanted feel free to just close this pull request.