In anticipation of using two cursors for a single swap device, one an allocation cursor and the other a trimming cursor, remove the cursor field from blist and add it to swdev. Make callers of blist_alloc pass the address of a cursor.
This lets most of the work of trimming happen in swap_pager.c. Otherwise, blist will come to have two cursors, and either that makes for two blist_alloc calls, or makes subr_blist.c manage the two cursors and figure out when to do trimming.