refactor sccp_message

* use asterisk API and style a bit more
* add a sccp_reset_type enum
* add missing call to htolel
refactor usage of transmit_* functions

In most of the code, the return value was not checked. So remove every
place where it was checked, and instead, in the thread_session loop,
check that there was no transmit error on the session.
simplify protocol interaction
simplify on_hold usage

With some more work, the member could even be removed.
remove subchan_set_state
remove sccp_line_set_state
re-add check on subchan->hold in cb_ast_answer

This can happens in the following scenario:
* you call another user, which doesn't answer
* you then press the voicemail hard key

That said, both the old and new behaviour are wrong; you should probably
not be able to do 2 outgoing "ringout" calls at the same time, i.e. it
should not be possible to place on hold a ringout channel. Also, with
direct media, it doesn't work.
remove check on sccp_config
fix sizeof wrong argument
readd transmit_stop_tone in do_clear_subchannel

Also fix transmit in handle_softkey_transfer.
remove threads for lookup exten and lookup callfwd

Replace it with a task system, which is running in the thread_session.
move autoanswer from device to subchan
remove start_time on sccp_session

Was previously used only for authtimeout, which is now handled by the
task_runner.
unschedule the callfwd task if I cancel the number selection
Merge branch 'refactor'