Add support for ssa_db epoch update mechanism

Each ssa_db structure contains the following epochs:
 - each data table (dataset) within the ssa_db has its
   own local epoch.
 - a global epoch per ssa_db that equals to the
   maximum among table epochs.

The update mechanism works as following
(currently applied to SMDB only):
 - All data tables epochs are initialized to 0.
 - Global ssa_db epoch is initialized to previous ssa_db epoch.
 - After each comparison for each data table:
   - if data table is empty : skip this table
   - if smdb_deltas == 0 and data table was not changed : skip this table
   - else : [1] update global epoch if wasn't updated yet
            [2] assign global epoch to data table epoch

Signed-off-by: Ilya Nelkenbaum <ilyan@mellanox.com>
Signed-off-by: Hal Rosenstock <hal@mellanox.com>