Use Algorithm::Diff directly; store item list instead of string

Remove dependency over Text::Diff which had bugs related to new lines in
diff formatting.
Remove unused @section
Implement keep_old to only display new items (no deletion)

keep_old forces no_order to ensure the diff has no redundancy
Force output order for correct diff'ing; Remove no_order option

We require the output to be now independant of order (we keep it ordered
so we can efficiently display differences)