Clarify variable names and conditionals in setProperty.

refs #2589
Refactor variables and loops.

refs #2589
Fix missed variable renaming.

refs #2589
Rename two instances of "assignments"

In one case, changed it to "numAssignments"
In other, "numAssignmentsBeforeDriverCall"

refs #2589
Change spacing

refs #2589
Make createProperty do all the delegation work that setProperty does
Split initializeProperty into its own function separate from setProperty

refs #2589
Change comments in createProperty to reference "creating" instead of "setting"

refs #2589
Add sourceURL to replication.html

refs #2589
Simplify setProperty by allowing it to call createProperty and initializeProperty

Also, made all three functions share the same "entries" object so they could catch delegations across their boundaries (for example, a create that delegated to a set)
refs #2589
Refactor getProperty

Also, fixed bug where setProperties was looking for a property named "index" and setProperty was looking for one named driverIndex.
refs #2589
Refactor setProperties and getProperties to make the read a little easier

refs #2589
Factor out repeated code between createProperty and initializeProperty

refs #2589
Simplify prepareProperty parameters

refs #2589
Change prepareProperty func to modifyProperty such that it can setProperty, too

refs #2589