ENH: safety bounds checks for take funcs

as per #3028; haven't done vb_suite yet but presumably we're ok paying the price for safety; will run to see what the hit is though