Joins are shared after clone
Some quick testing revealed a bug in the cloning of the from-list and the join dictionaries. Pushed a fix. For what it's worthy, queries should be immutable -- so no need to call clone():

```python
query = Tweet.select()
new_query = query.join(User)
# query -> select * from tweet
# new_query -> select * from tweet join user
```
On latest 3.x release (haven't tested others), the list of joins appears to be shared between queries after calling clone:

```python
query = Tweet.select()
new_query = query.clone()
new_query.join(User)

print(query.sql())
print(new_query.sql())
```
Outputs:
```
('SELECT "t1"."id", "t1"."user_id", "t1"."text" FROM "tweet" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."user_id" = "t2"."id")', [])
('SELECT "t1"."id", "t1"."user_id", "t1"."text" FROM "tweet" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."user_id" = "t2"."id")', [])
```