Reverse ranks order and add widgets at the end

- reverse ranks from high-to-low to low-to-high
- make rank an optional parameter
- move "add widget and shift others" logic to database level to be
  performed in a single transaction

Test: CommunalWidgetDaoTest
Test: verified widgets order remain consistent after db migration
Test: verified add widgets by tap and by drag & drop work correctly
Test: verified widgets added by tap remain in consistent order
Fix: 348041107
Flag: com.android.systemui.communal_hub
Change-Id: I7af9b535013ce0a696a0630bd991838a881e2495
13 files changed