Rework progressbar logic, implement scoped/split progressbar

Rework progressbar according to AOSP, this should fix various
issues with progressbar.

From AOSP:

   progress <frac> <secs>
       fill up the next <frac> part of of the progress bar over <secs> seconds. If <secs> is
       zero, use `set_progress` commands to manually control the progress of this segment of the
       bar.

   set_progress <frac>
       <frac> should be between 0.0 and 1.0; sets the progress bar within the segment defined by
       the most recent progress command.

Change-Id: I7f92359046288f3529cb2e98e6d54d410a248f1d
(cherry picked from commit ab16437de14fd9f1203b7e0ce82ea18eb56cae78)
diff --git a/data.hpp b/data.hpp
index d61fe8e..4770ed5 100755
--- a/data.hpp
+++ b/data.hpp
@@ -51,7 +51,8 @@
 	static int SetValue(const string& varName, const float value, const int persist = 0);
 	static int SetValue(const string& varName, const unsigned long long& value, const int persist = 0);
 	static int SetProgress(const float Fraction);
-	static int ShowProgress(const float Portion, const float Seconds);
+	static int _SetProgress(float Fraction);
+	static int ShowProgress(float Portion, const float Seconds);
 
 	static void DumpValues();
 	static void update_tz_environment_variables();