correction des constructeurs par copie

La fonction "operator=" et le constructeur par copie étant similaires,
il est tout à fait possible de définir l'un par rapport à l'autre.
Précédemment, chacun était défini selon l'autre...mais il faut tout de
même en définir au moins un explicitement.
(Désormais, dans chaque classe, le constructeur par copie est défini
explicitement. "operator=" est défini à partir du constructeur par copie
et d'une fonction "swap". Pour plus d'infos, voir la technique
"Copy-and-swap".)
Merge branch 'master', remote-tracking branch 'harenome/noyau'
correction article_stock::swap
correction article_affichage et ajout operator<<

- correction de article_affichage::prix_vente_effectif
- ajout des fonctions :
  * article_affichage::ecrire_vers
  * operator<< pour article_affichage
mini test à l'arrache
Merge branch 'master', remote-tracking branch 'harenome/noyau'
corrections magasin, articles_existants, vente

- définition article_existe
- correction fonctions relatives aux ventes
- ajout itérateurs à vente
Merge branch 'master', remote-tracking branch 'harenome/noyau'
fonctionnalités liées aux ventes

- magasin::ventes, magasin::vente_id
- vente::articles_vendus
Merge branch 'master', remote-tracking branch 'harenome/noyau'
ui mode avancée