Can't figure out voltage-controlled current sources
A general method to solve arbitrarily complex (linear) circuits with arbitrary sources is "nodal analysis". This is the method SPICE (at least the linear analysis) is based on. 

It roughly consists of the following steps


Select one arbitrary node as reference (this is ground).
If the network consists of N nodes, we have N-1 unknown voltages, which we will be solving for.
Replace all voltage sources with current sources (see http://en.wikipedia.org/wiki/Norton%27s_theorem) **.
For each node the total current will be zero, which gives one equation each. Example: If node 1 (which has voltage U1) is connected with resistor R12 to node 2 and with resistor R13 to node 3, and has a source with forcing current I1 into the node, we have
(U2 - U1)/R12  +  (U3 - U1)/R13 = -I1.
In case of controlled sources, the value I1 is then replaced with the appropriate expression describing the controlled source (for example I1 = k1(U3 - U1)). Note that, here, if we have a current controlled source, it needs to be converted to a voltage controlled source (analog to step 2). Note that since each source has two connections, it occurs twice (in different equations andw ith opposite sign).
For each node we get such an equation, which gives N-1 equations. (For the ground node we dont need an equation). Now we put all the U's on the left hand side and the I's (which are representing the known constant current sources) the on the left hand sides. 
That equation system with N-1 equations and equally many unknowns is subject to standard linear equation solving and will give the unknown voltages.


Note: In contrast to the mesh analysis (which relies of the zero-voltage sum in meshes) this nodal analysis is easily automated by a computer. For a computer is is very hard to determine right amount of meshes, hence the implementation of nodal analysis (instead of mesh analysis) in SPICE.

** In case the voltage source has zero output impedance, this conversion cant be done. But then the potential of one of the nodes (the source is connected between) is known. Hence we have one equation and one unknown less. 

For details see http://en.wikipedia.org/wiki/Nodal_analysis.

Your example has three nodes (0,1, and 2), one of which is ground (I select the node between R1 and R3), (U0 = 0 by definition). So we get 

node 1: (0-U1)/R1 + (U2-U1)/R2 - k U1 = 5A

node 2: (U1 - U2)/R2 + (0-U2)/R3 + k U1 = 0

Note, I used an explicit 0 where U0 would have been. That is two equations for two unknowns (U1 and U2) and should give the correct solution (if I made no mistake).