Q:

encrypting passwords & crypto questions

I've read a few articles about encrypting passwords and what I read seems that bcrypt is the way to go.
I know hardly any about cryptography, does it make any difference from the security point of view if I add the username to the password and hash that?
Also does it make sense to create a salt for each user? If my db would get leaked those salts would also be there, should I encrypt the salts too with a global salt? 
Does it make sense to also encrypt the user's email adress?
Anywhat what I planned to do is:
+use bcrypt
+allow all characters in passwords
+force User to use a digit and special char in his password
+set the minimum password length to 8 chars

I'm not building an app which requires mega high security standards but I would like to offer my users some seriouse protection in case my DB gets leaked somehow. ( hopefully it won't )

A:

does it make any difference from the security point of view if I add the username to the password and hash that

No added security, especially if you are already using a SALT.  Has the drawback that you have to rehash and persist the hash each time a user changes their username.

Also does it make sense to create a salt for each user?

Yes, this is commonly done.

If my db would get leaked those salts would also be there, should I encrypt the salts too with a global salt?

No, do not encrypt them.  The purpose of the SALT is just to force the attacker to have to perform a new brute force search for each user/password, instead of one brute force attack for all.

Does it make sense to also encrypt the user's email adress?

No.  Unless you have some (strange) business requirement for that.

