Weighted random choice added with normal functions

Since numpy.random.choice is valid since numpy 1.7, in order to use the
tool with old version, the weighted random choice has been implemented
with normal libraries