Clean up code a bit.
Add initWithScheme:, call it from copyWithZone:.
Convert rule plists concurrently.

Noticed a bit of slowdown when loading larger schemes, so I'm throwing
the rule conversion in a concurrent queue and letting it convert them
concurrently.

Stride is currently at 8, but I might increase it or use the default of
256 later, since I haven't done enough testing to see what the specific
bottleneck is.
Add initWithRule:, replace copyWithZone: body with a call to it.