Replace function resolution with lazy evaluation

partial-blueprint function-plugins

Change-Id: I2e25c28dc8dec95bfd6e344623af0c06ec5af55c
Move HOT to a separate subpackage

The heat.engine.hot module is getting unruly; make it a package in
anticipation of splitting it up into separate modules.

Change-Id: I72b9351cddf0591e7e9acf10f869fbfa2c8efd9a
Merge "Replace function resolution with lazy evaluation"
Merge "Move HOT to a separate subpackage"