kernel - Fix fragmentation and object list scan bug in swapcache
* When swapcache reaches maxswappct (typically 75% of swap) it reduces
swap use before allowing it to continue to build again, with some
hysteresis.
* The cleanup phase which reduces swap use was seriously fragmenting swap
space by cleaning up too small a portion of each VM object.
* Increase the amount cleaned up before moving onto the next VM object.
* Fix bugs in the vm_object_list traversal which could result in a bad
object being accessed followed by a panic.