Decoder code commenting

Added extensive commenting to the _decode_frame() code
Reduced variable replication

Reuse some variables rather than keep creating new ones. Found at some
points the same frame was being held in various states as f, received,
decoded, processed, data etc so when the previous "frame" variable is no
longer needed it is overwritten. hopefully less confusing and less
memory intensive. Also expanded 't' & 'f' to 'timestamp' and 'frame'.
Merge pull request #2 from emonhub/development

updated from upstream
Default 'runtime settings' values & routines

A single loop in set() now maintains all runtime default values like
pause defaultdatatype interval maxItemsPerPost. defaultdatacodes now
have a default set in the listener code so for example the Jeelistener
now has a default of 'h' set so any jeelistener will default to ints if
a default not set in conf. maxItemsToPost range of 1-250 enforced, 1 by
default (just add 100 to listener in emonhub.conf to enable bulk upload)
default value could be set in listener init() if essential.  Any runtime
settings changed will trigger a log entry. Interval value available to
all listeners and dispatchers to provide for delayed seending and/or
timed querying etc rfm2pi's 'sendtimeinterval' is therefore just
'interval' now. these values can be overridden just by adding a
runtimesetting in emonhub.conf and any runtime settings deleted will
rever to default value.
Broadcast time now shows leading zero's in log entry (5mins past 2am is
now 02:05 not 2:5)
Revert "Default 'runtime settings' values & routines"

This reverts commit b73e78630160d5572a482642d5917dcdce54861d.
Revert "Revert "Default 'runtime settings' values & routines""

This reverts commit 4bb2cedd1430c390acf4c1d25e3aa218e5d0c058.
Merge pull request #53 from otherWIP/development

Default 'runtime settings' and routines