Reduce memory when extracting JobRequirements by using boost shared_array.

Reduce memory when extracting JobRequirements by using boost shared_array.
By using shared_array we can remove a ConditionalStorage and std::vector copy
from happening reducing the amount of temporary memory to extract a serialized
JobRequirements.