improve strpbrk path with search lists that contain null

Summary: ... we can use some tricks to use the nicely optimized
 strcspn for char lists with null. If the null byte is at the
 beginning or end of a string, we can avoid copying.

Reviewed By: @paroski

Differential Revision: D1350409
Add JIT support for File and Dir bytecode instructions

Summary: That's it.

Reviewed By: aravind

Differential Revision: D1355278
Be more efficient with empty_array

Summary: Create empty_array() and empty_array_ref which should skip as
many checks as possible on this codepath.

Reviewed By: @markw65

Differential Revision: D1355182
Use empty_string instead of return "" (base, 3/n)

Summary: Splitting this diff due to issues in perflab to identify the
root cause.

Reviewed By: @markw65

Differential Revision: D1354056