Merge pull request #45 from dgw/twit-py2-unicode

[twit] Python 2 should use unicode(), not str()
[bucket] minor cleanup
[bucket] Make it possible to ask bucket questions

"bucket: how are you?" will no longer teach bucket ('how', 'are', 'you'),
so you can now teach it to reply properly to such questions
[bucket] add "friends" concept

When you preform positive interactions with bucket, it will increase your
"friendly level", and it will decrease with negative interactions.

Bucket will also greet people on join now, but only if it had seen them before,
and it will be more likely to greet people who have a high "friendly level".

This is still WIP, so feedback welcome
Merge branch 'master' into production

Merge in new features elad committed today

Conflicts:
	bucket.py
[bucket] Better greet probability
[bucket] Add a chance to refuse to accept items from unfriendly users

Use the "refuse to take item" factoid to teach bucket replies for that
[bucket] add some more debug info for <alias> recursion protection
[bucket] missing comma
[bucket] Allow bucket to be addressed in reverse

Sentences ending with the name of the bot will now also count as addressed.
This is experimental and I might remove it if it becomes too problematic.
[bucket] Remove recursion in inventory code

Not only using a recursion there was slow and it made the code unreadable,
the implementation was simply wrong: there was a chance bucket would return
banans even if there are available items still.

Also, fix a typo
[bucket] Fuck it.
Merge branch 'master' into production

Yes, this includes elad's "Fuck it" commit to bucket :/