Parameterize rebalancing period

Added new parameter to the algorithm: amount of days between rebalancing.

Signed-off-by: Ed Bartosh <bartosh@gmail.com>
Check if price data available before using it

Fixes this crash:

KeyError: u'no item named 22887'
   File test_algorithm_sycheck.py:235, in handle_data
   File test_algorithm_sycheck.py:126, in getbeststock
   File frame.py:2003, in __getitem__
   File generic.py:667, in _get_item_cache
   File internals.py:1655, in get
   File internals.py:1935, in _find_block
   File internals.py:1942, in _check_have

Signed-off-by: Ed Bartosh <bartosh@gmail.com>
Use order_value API

As order_value requires only amount of cash for the order as a
parameter it allows to remove calculation of the number of shares
from the code.

Signed-off-by: Ed Bartosh <bartosh@gmail.com>
Added more info about orders to the log output

It's useful to see more information about orders in the log.

Signed-off-by: Ed Bartosh <bartosh@gmail.com>