Consolidate handling of special properties for newly uploaded files
Consolidate handling of special properties for newly uploaded files

Summary:
Fixes T5849. When a new file is created, we might have to actually write the data to a storage engine, or we might be able to just point at data which is already there.

Currently, these two paths handle `$params` with different code and mild behavioral differences. Instead, have them call the same code so they get the same behavior.

Test Plan:
  - Uploaded the same file multiple times to home page.
  - Uploaded the same file multiple times as profile picture.
  - Generated files via Diffusion.
  - All the files got the expected properties, whether they were reusing data or not.

Reviewers: btrahan, 20after4

Reviewed By: 20after4

Subscribers: epriestley

Maniphest Tasks: T5849

Differential Revision: https://secure.phabricator.com/D10216

a20012251/phabricator,schlaile/phabricator,dannysu/phabricator,wxstars/phabricator,gsinkovskiy/phabricator,Symplicity/phabricator,codevlabs/phabricator,sharpwhisper/phabricator,aswanderley/phabricator,shl3807/phabricator,kanarip/phabricator,Khan/phabricator,NigelGreenway/phabricator,jwdeitch/phabricator,parksangkil/phabricator,christopher-johnson/phabricator,codevlabs/phabricator,wangjun/phabricator,shrimpma/phabricator,devurandom/phabricator,NigelGreenway/phabricator,freebsd/phabricator,Automatic/phabricator,jwdeitch/phabricator,devurandom/phabricator,denisdeejay/phabricator,Soluis/phabricator,hshackathons/phabricator-deprecated,MicroWorldwide/phabricator,hshackathons/phabricator-deprecated,coursera/phabricator,schlaile/phabricator,MicroWorldwide/phabricator,Automatic/phabricator,hshackathons/phabricator-deprecated,kanarip/phabricator,kwoun1982/phabricator,eSpark/phabricator,wusuoyongxin/phabricator,tanglu-org/tracker-phabricator,librewiki/phabricator,aik099/phabricator,UNCC-OpenProjects/Phabricator,optimizely/phabricator,aswanderley/phabricator,Soluis/phabricator,denisdeejay/phabricator,zhihu/phabricator,ryancford/phabricator,uhd-urz/phabricator,shrimpma/phabricator,NigelGreenway/phabricator,aswanderley/phabricator,huaban/phabricator,WuJiahu/phabricator,uhd-urz/phabricator,zhihu/phabricator,Soluis/phabricator,wusuoyongxin/phabricator,folsom-labs/phabricator,zhihu/phabricator,memsql/phabricator,dannysu/phabricator,huangjimmy/phabricator-1,ide/phabricator,Drooids/phabricator,matthewrez/phabricator,memsql/phabricator,eSpark/phabricator,WuJiahu/phabricator,optimizely/phabricator,sharpwhisper/phabricator,ryancford/phabricator,ide/phabricator,a20012251/phabricator,cjxgm/p.cjprods.org,zhihu/phabricator,kwoun1982/phabricator,dannysu/phabricator,hach-que/unearth-phabricator,jwdeitch/phabricator,Soluis/phabricator,Automatic/phabricator,kwoun1982/phabricator,tanglu-org/tracker-phabricator,librewiki/phabricator,leolujuyi/phabricator,coursera/phabricator,uhd-urz/phabricator,kwoun1982/phabricator,wikimedia/phabricator-phabricator,akkakks/phabricator,benchling/phabricator,optimizely/phabricator,kanarip/phabricator,r4nt/phabricator,wangjun/phabricator,WuJiahu/phabricator,leolujuyi/phabricator,wxstars/phabricator,huaban/phabricator,folsom-labs/phabricator,wusuoyongxin/phabricator,Khan/phabricator,zhihu/phabricator,kalbasit/phabricator,wikimedia/phabricator-phabricator,hach-que/phabricator,denisdeejay/phabricator,matthewrez/phabricator,hach-que/unearth-phabricator,Drooids/phabricator,eSpark/phabricator,wikimedia/phabricator,r4nt/phabricator,benchling/phabricator,ide/phabricator,aik099/phabricator,parksangkil/phabricator,kwoun1982/phabricator,hshackathons/phabricator-deprecated,eSpark/phabricator,a20012251/phabricator,vuamitom/phabricator,denisdeejay/phabricator,shl3807/phabricator,schlaile/phabricator,codevlabs/phabricator,uhd-urz/phabricator,shl3807/phabricator,codevlabs/phabricator,devurandom/phabricator,wangjun/phabricator,phacility/phabricator,cjxgm/p.cjprods.org,optimizely/phabricator,christopher-johnson/phabricator,kanarip/phabricator,wikimedia/phabricator,sharpwhisper/phabricator,eSpark/phabricator,a20012251/phabricator,vinzent/phabricator,huaban/phabricator,benchling/phabricator,cjxgm/p.cjprods.org,tanglu-org/tracker-phabricator,akkakks/phabricator,gsinkovskiy/phabricator,kalbasit/phabricator,wikimedia/phabricator-phabricator,optimizely/phabricator,akkakks/phabricator,Soluis/phabricator,hach-que/phabricator,aswanderley/phabricator,akkakks/phabricator,hach-que/unearth-phabricator,Automatic/phabricator,aswanderley/phabricator,devurandom/phabricator,gsinkovskiy/phabricator,vuamitom/phabricator,christopher-johnson/phabricator,kalbasit/phabricator,hach-que/phabricator,christopher-johnson/phabricator,vinzent/phabricator,ide/phabricator,vinzent/phabricator,shrimpma/phabricator,Drooids/phabricator,huangjimmy/phabricator-1,wikimedia/phabricator,wxstars/phabricator,Khan/phabricator,huangjimmy/phabricator-1,vuamitom/phabricator,matthewrez/phabricator,akkakks/phabricator,gsinkovskiy/phabricator,ryancford/phabricator,folsom-labs/phabricator,r4nt/phabricator,sharpwhisper/phabricator,librewiki/phabricator,ryancford/phabricator,hach-que/unearth-phabricator,NigelGreenway/phabricator,Symplicity/phabricator,UNCC-OpenProjects/Phabricator,shrimpma/phabricator,aik099/phabricator,librewiki/phabricator,huangjimmy/phabricator-1,sharpwhisper/phabricator,parksangkil/phabricator,jwdeitch/phabricator,r4nt/phabricator,freebsd/phabricator,freebsd/phabricator,tanglu-org/tracker-phabricator,folsom-labs/phabricator,parksangkil/phabricator,Drooids/phabricator,cjxgm/p.cjprods.org,kalbasit/phabricator,schlaile/phabricator,dannysu/phabricator,memsql/phabricator,a20012251/phabricator,codevlabs/phabricator,freebsd/phabricator,coursera/phabricator,shl3807/phabricator,r4nt/phabricator,WuJiahu/phabricator,Symplicity/phabricator,hach-que/unearth-phabricator,hach-que/phabricator,huaban/phabricator,wikimedia/phabricator-phabricator,folsom-labs/phabricator,aik099/phabricator,hshackathons/phabricator-deprecated,UNCC-OpenProjects/Phabricator,zhihu/phabricator,wikimedia/phabricator-phabricator,MicroWorldwide/phabricator,memsql/phabricator,wikimedia/phabricator,NigelGreenway/phabricator,devurandom/phabricator,vuamitom/phabricator,uhd-urz/phabricator,leolujuyi/phabricator,wxstars/phabricator,MicroWorldwide/phabricator,phacility/phabricator,vuamitom/phabricator,devurandom/phabricator,dannysu/phabricator,Khan/phabricator,benchling/phabricator,wusuoyongxin/phabricator,librewiki/phabricator,wangjun/phabricator,vinzent/phabricator,gsinkovskiy/phabricator,Symplicity/phabricator,hach-que/phabricator,phacility/phabricator,memsql/phabricator,kanarip/phabricator,UNCC-OpenProjects/Phabricator,christopher-johnson/phabricator,coursera/phabricator,leolujuyi/phabricator,cjxgm/p.cjprods.org,matthewrez/phabricator,vinzent/phabricator,tanglu-org/tracker-phabricator,phacility/phabricator,huangjimmy/phabricator-1