New limbs

New limb system: limbs, capabilities, checking for ability to perform some action.
I see no reason for rewriting them as factory functions instead of keeping these as case classes.