Merge branch 'master' of git://github.com/highfidelity/hifi into 19644

Conflicts:
	interface/src/Application.cpp
	interface/src/Application.h
	interface/src/ui/PreferencesDialog.cpp
	interface/src/ui/RunningScriptsWidget.cpp
	interface/ui/preferencesDialog.ui
	interface/ui/runningScriptsWidget.ui
Refactoring.
More progress on refactoring.
Merge branch 'master' of git://github.com/highfidelity/hifi into 19644

Conflicts:
	interface/src/Application.cpp
More work on generic containers.
More progress on generics.
added _missingSequenceNumbers tracking to OctreeInboundPacketProcessor
added code for AC to send nack packets; no locking yet
Merge branch 'master' of https://github.com/highfidelity/hifi into metavoxels
added locking on _singleSenderStats; untested!
add PhysicalEntity class

Model and RagDoll derive from PhysicalEntity
Shape gets back pointer to its Entity (shape sharing not possible)
CollisionInfo gets backpointers the shapes involved
Merge branch 'master' of https://github.com/highfidelity/hifi into 19755
Midpoint on generic object streaming.
add SimulationEngine, MyAvatar has one.
Only build shapes for models that need them
More object streaming refactory.
Revert "added locking on _singleSenderStats; untested!"

This reverts commit c542da97076ba0d27f4e191ae5d8249dbf8afe7e.
Revert "added code for AC to send nack packets; no locking yet"

This reverts commit 15bd0878c407ede95f724009adadc81deeb7b4fd.
rollovers are now handled in SingleSenderStats::trackInboundPacket
SimulationEngine::enforceConstraints() takes args

...for limiting simulation costs