Refactoring CamelPOP3Folder and CamelPOP3Store

Implemented

This has been implemented and is at this moment in bugfix phase.

About

Currently the POP3 support of camel-lite does not support switching between offline and online.

Most of the other providers implement support for this using the CamelDiscoFolder and the CamelDiscoStore.

Other than letting the existing CamelPop3Folder and CamelPop3Store inherit from those Camel types would it imply implementing the offline versions of all methods of CamelPop3Folder (and some of CamelPop3Store too). This is not extremely much (it's very limited).

Another improvement that should happen in that POP3 provider is using the cmd_list and cmd_builduid implementation functions of CamelPop3Folder to achieve the summary support.

In contrast with the hack that I've put their, this would let the POP3 support call the TOP of the messages only once (at this moment, it gets needlessly called twice).

Correct and good support for summaries is not really interesting without offline support too. So both are important enough.

At this moment is the POP3 support functional through these hacks of mine. This means that it works. But it behaves as if the framework is set to "online" at all times. That's because all of the POP3 functionality in Camel can already cope with offline situations in the error handling.

It's by itself not a bad test: what if the device went offline and what if that event was not yet detected while the user did something that caused online functionality to happen? That's a error situation that must be dealt with in a non-crashing way.