Feature/first draft1

Based on [trello](https://trello.com/c/J86cpr0z/1532-21-angularjs-restructure): 

 - added example folder structure located in [here](https://github.com/udemy/angularjs-styleguide/blob/feature/first-draft1/example).  
	 We currently have two file name conventions:
	 1. File name as a the feature - if a feature is small you can have a controller and a directive in one file under the same module name. example: `announcement-creation.js` 
	 2. File name as  feature and type - separate directives, controller, and services into different files names. example: `discovery-directive.js`
		 
		 Each file will have a separate module and it each feature will have a `*-module.js` that will reference all the dependencies within the folder structure. See [here](https://github.com/udemy/angularjs-styleguide/blob/feature/first-draft1/example/ng/apps/course-taking/discussion/discussion-module.js)
		 
 - added .jshint file based angularjs suggested jshint configuration. 

Please review the folder structure. Let me know if you have any questions or if I miss anything. 
@accavdar @bahattintozyilmaz @cansin @wpannell @inancsevinc @bahaddinyasar @kevinzang 
I am not sure about using function declarations. I guess the below implementation still doesn't violate [Google Style Guide's point around function declarations](http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml?showone=Function_Declarations_Within_Blocks#Function_Declarations_Within_Blocks), but wanted to mention it here.

Using function expressions can be better. Here is a discussion around declarations vs. expressions: http://javascriptweblog.wordpress.com/2010/07/06/function-declarations-vs-function-expressions/

The below code can be re-written with expressions/variables as:

```js
define(['angular'], function (angular) {
    "use strict";

    var AnnouncementApi = function ($http) {

        var getAnnouncementsComplete = function (response) {
            return response.data.results;
        };
        
        var getAnnouncements = function () {
            return $http.get('/api/announcements')
                .then(getAnnouncementsComplete)
                .catch(getFailed);
        };

        var createAnnouncementsComplete = function (response) {
            return response.data.result;
        };

        var createAnnouncement = function (data) {
            return $http.post('/api/announcements', data)
                .then(createAnnouncementsComplete)
                .catch(getFailed);
        };

        var getFailed = function (error) {
        };

        return {
            getAnnouncements: getAnnouncements,
            createAnnouncement: createAnnouncement
        };
    };

    // StudentLearningGoalApi factory
    angular.module('courseTakingApp.announcement.announcementApi')
        .factory('Announcement', ['$http', AnnouncementApi]);
});
```

@wpannell @sergey-udemy @bahaddinyasar @inancsevinc @kevinzang @murataydos what are your thoughts around this? Which approach would be better? Or should we just let people do either?