introduce trashbox, a replacement of trash

When using trash API, the value returned from functions of API
must be reassgined to trash variable.

e.g.

	trash = trashPutFull(trash, item, eFree);

This API may lead programming error.
So new interface trashBox is introduced in this patch.
trashbox manages its state  internally. above trashPut example
can be replaced with following code:

    trashBoxPut(trash_box, item, eFree);

No value is returnd from trashBoxPut.
Internal state of trash_box is updated with this invocation.

trashBox must be dynamically allocated. This is a bit inefficient
in a case. However, you can put a trashbox to a trashbox:

   trasBoxPut(trash_box, local_trash_box, trashBoxDestroy);

Signed-off-by: Masatake YAMATO <yamato@redhat.com>