Add `Class` service and separate the 'class cart' from `CreateCtrl`

* I added `Class` service which acceses to `api/classes/:classNo`, using `$resource` service.
* I added `ClassCart` service which manipulates the 'class cart' in 'create' section, of which the features were in `CreateCtrl` previously.

    * This service returns a class function so that 'class cart' objects can be created.
    * The constructor of this class accepts two parameters.

        * cart – Optional. The 'class cart' to be initialized with.
        * isStoredCart – Optional. `true` if `cart` is a 'class cart' which is stored in `storedContext`, or `false` if `cart` is a 'class cart' which is to be exposed to the scope of `CreateCtrl` controller.

    * The 'class cart' to be exposed to scope of controller can be accessed with `scopeCart` property.
    * The 'class cart' to be stored to cookie can be accessed with `storedCart` property.
    * A 'class' object can be added to the 'class cart' by calling `addClass` method.
    * A 'class' object can be deleted from the 'class cart' by calling `deleteClass` method with `class_no` of the 'class' object as the parameter.
    * A 'major' in a 'course' can be deleted from the 'class cart' by calling `deleteMajorInCourse` method with `code` of the 'major' object as the first parameter, and `course_no` of the 'course' as the second one.
    * A 'course' can be deleted from the 'class cart' by calling `deleteCourse` method with `course_no` of the 'course' as the parameter.

* I modified `MajorInfo` service.

    * Now this service acceses to `api/majors`, the url of which has no `/` at the head.
    * I added a function named `getNameByCode`, which returns a promise that is resolved with the name of 'major' of which the code is given parameter.

* I modified `config` constant.

    * I added a property named `isPlacementRequired`, which is a function that returns true if the 'class'es of 'course' of given 'class' object should be placed by default, or false if not.