[#1690] Update testing styleguide and other pages.

Problem description
===================

This started as a branch where I wanted to improve the styleguide for testing.

While working on it, I found good ideas for other pages, so it also includes updates for general, python and JS.


Changes description
===================

I tried to write the knowledge that we gain while working with tests.

----

For system tests I think that the description is right, but like for unit and integration tests, I am not sure that we need a separate package for them.

In an ideal word all system input/output code is grouped in a dedicated package, so it would end up in a comman package anyway... we need to discuss this sometimes after we get more feedback from writing system tests.

I am happy with the definition of system tests, but I am not happy with the way we write system tests.


How to try and test the changes
===============================

reviewers @alibotean 

Check the changes... it is big, but I did not find it useful to break it on specific pages as we don't have many other branches here.

We can spawn separate discussion or branch for each controversial topic :)