Add a performance test for accessors with varying amounts of sources
Change the source tracker pushing and popping to only instantiate source arrays when needed instead of preemptively.

 - Batman.Property source tracking is built upon a source tracker stack that gets pushed to and popped off of as properties are recalculated. This uses a little boolean to make thing a bit faster by delaying the push of a new source array to the stack until the first item goes to be added to the stack, and otherwise if no items are added no arrays are created and the boolean is just flipped back.
Move the source tracker stack back onto Property to see if it is any faster as a closure scoped constant.
Make the source tracker stack valid property its own variable
Merge pull request #627 from Shopify/smarter_source_trackers

Lazily pushed smarter source trackers