Feature #1483: Scheduler executes scheduled actions

Syntax inside VM/USER_TEMPLATE:
SCHED_ACTION = [ ACTION = "resume/stop/shutdown...", TIME=12345 ]
Feature #1483: Create new Util.h file to define common methods, like creating log timestamp strings
Feature #1483: Add new option --schedule TIME to onevm commands
Feature #1483: onevm show lists scheduled actions in a table
Feature #1483 #1556: VM attributes understood by opennebula are moved to TEMPLATE, the rest are left in USER_TEMPLATE
Feature #1483 #1556: Leave SCHED_REQUIREMENTS and SCHED_RANK in the USER_TEMPLATE, so they can be edited
Feature #1483 #1556: onedb migrator moves rank, requirements to sched_*
feature #1483: Add a separated action VM pool
Feature #1483: Minor fixes
Feature #1483: Fix automatic requirements
Feature #1483: Fix context parsing
Feature #1483 #1556: Separate requirements in two attributes

AUTOMATIC_REQUIREMNTS is set by the core, cannot be edited.
SCHED_REQUIREMENTS can be set and edited by the users.
Feature #1483: Make --schedule option verbose by default
Feature #1483: Add an ID to each SCHED_ACTION to make them easier to edit manually with onevm update
Feature #1483: Fix sched_actions. Last change was deleting future actions
feature-1483: SCHED attributes can be modified by default
feature #1483: Prevents deleting of NULL pointer
feature #1483: Simplify REQUIREMENTS compatibility check
feature #1483: Moved implementation of util functions to a cc file
feature #1483: Inline hints for simple util functions