sanitize the OOP of kernel::profile
* Add a Profile::next() returning the next event of the list.
This opens the way to future profile kinds, based on statistical
generator instead of explicit lists.
Earlier, FES was advancing the internal pointer of the Profile.
* Change FutureEvtSet::add_trace(Profile, Resource) into Profile::schedule(FutureEvtSet, Resource).
This way, Profile knows about its FES and there is no need for a
global (also making testing easier), and FES does not have to mess
with the internals of Profile.