Conjugate gradient, inexact line search with constant step size

Squashed commit of the following:

commit 53ef56a0aae0230af683f1409e98c865a06fcd1f
Author: sagar <sagar.writeme@gmail.com>
Date:   Fri Mar 29 21:03:40 2013 +0530

    Testing with multiple variables

commit 3d5e256774ecf454ffa55fa1dfe5e1bbeccf6772
Author: sagar <sagar.writeme@gmail.com>
Date:   Fri Mar 29 20:58:48 2013 +0530

    cgnl.minimize() returns 1D array now rather than 2D

commit 5523da439dc68a478bbb7aeb1f84342bcce1dd0f
Author: sagar <sagar.writeme@gmail.com>
Date:   Fri Mar 29 20:53:29 2013 +0530

    Conjugate gradient with fixed step size seems to be working

commit 468d1850c564ad5c84016428b5c2643df84f357f
Author: sagar <sagar.writeme@gmail.com>
Date:   Fri Mar 29 20:41:54 2013 +0530

    Added stubs for conjugate gradient along with test cases