Database join parser

Rewritten join parser and introduced great backward compatibility break :)

Backjoin syntax changed: colon is used as a prefix. See example where 
```php
// old syntax
$db->table('author')->count('book:book_tag:tag_id');

// new syntax
$db->table('author')->count(':book:book_tag.tag_id');
```
- Meaning of `:` is "has many".
- It has no sence that `book_tag` has many columns `tag_id`. Table `book_tag` has only one column `tag_id`.
- But, `author` has many `book`s, therefore is before `book` colon.

Also see modified tests.