Knights before bishops:
As you point out, there are some well known squares where your knights are going to go. It's more difficult to know where your bishops are going to go. Are they going to go pin a knight on b5 or g5? Maybe you will fianchetto them on g2 or b2, or perhaps they will defend a center pawn, or point out through your pawn chain from e3 or d3. Maybe you want a bishop on c4 to attack f7. So sometimes it's better to wait on the bishops so you can develop them better.
There's nothing inherently wrong with a knight on e2. But if you're going to castle kingside, the knight on f3 protects the h2 square. Notice also that if you have a knight on e2 and it gets pinned by a bishop on g4 playing f3 to kick away the bishop weakens your king.
In some openings a3 and h3 to keep your opponent's minor pieces out of b4 and g4 are good moves. But in most openings it's not necessary and you can move a3 or h3 after your opponent puts a piece on b4 or g4. If your opponent moves his piece away from that square then he's used 2 moves to your 1 so you gained a tempo. If you use a3/h3 as a preventative measure then your opponent has gained a tempo. It's very difficult to determine from scratch whether this is necessary -- sometimes you don't want to allow the bishop to pin the knight because it will take it if provoked. Since the majority of cases you don't want to push these pawns, you get a general guideline not to.
I've heard opening principles and have seen how they work, but I'm not sure where they come from. I understand some things like central control, but I'm still confused about these issues:
Why knights before bishops? It seems to me that as long as your pieces get developed, the order shouldn't matter.
I've heard move knights to f3, c3, or d2. Is there something inherently wrong with a knight on e2?
I know you don't want to move too many pawns, but is it worth moving pawns to a3 or h3? It can prevent a knight or bishop on b4 or g4, and gives a bishop on c4 or f4 somewhere to run.
Any help is appreciated.