More lock tweaks

- Now that feed.locks are no longer serial, we can afford to properly
  lock then on apply_transforms, using a new function to take selective
feed.locks in the same order as the allfeed variants.

- Only hold most cmd_items lock during apply_transforms

- cmd_listtags holds tag_lock which is now held independently from
  feed.lock, so we don't need to get feed.locks anymore, just feed_lock
since we're using get_feeds()

- cmd_attributes holds feed_lock for the same reason, but can still
  throw exception since attributes can be requested for items that don't
match up to real feeds.

- feed_lock is no longer taken first, but in the same alphabetical order
  we use conventionally.