Quaternion is unnecessarily complicated. To move object you just use transform.position and a vector, easy. To rotate, this one is very confusing.
I believe you can use Quaternion.Euler() that takes in a Vector3 and will convert to the Quaternion you need. Here's a link to go into full detail: http://unity3d.com/support/documentation/ScriptReference/Quaternion.Euler.html
function Update() {
// Slowly rotate the object around its X axis at 1 degree/second.
transform.Rotate(Vector3.right * Time.deltaTime);
// ... at the same time as spinning relative to the global
// Y axis at the same speed.
transform.Rotate(Vector3.up * Time.deltaTime, Space.World);
}