Some coin database memory usage tweaks.

* Make CScript::clear() release memory (indirectly causing transaction outputs being
  spent to release associated heap memory).
* Make CCoinsView::BatchWrite consume the passed CCoinsMap, rather than copy from it.
  * As a result, CCoinsViewDb now progressively converts the map to LevelDB entries,
    rather than copying.
  * Merging a CCoinsViewCache into a parent cache uses CCoins::swap + release rather
    than copy + bulk release at the end.

Untested, but should reduce peak memory usage and some CPU time.
It probably makes a minimal difference, if at all - let's prioritize the peak memory usage and keep it like this.