[RFR] Refactor CRUD directory structure

Editing components is becoming more and more painful - [shotgun surgery](http://sourcemaking.com/refactoring/shotgun-surgery)-like. It's time to move things around, and reorganize the directory structure not by type (directive, template, controller), but by purpose (edit view, list view, buttons).

This change is completely backwards compatible.

After: 

```
> cd src/javascripts/ng-admin/Crud/ && tree
├── CrudModule.js
├── button
│   ├── BackButton.html
│   ├── BackButton.js
│   ├── CreateButton.html
│   ├── CreateButton.js
│   ├── DeleteButton.html
│   ├── DeleteButton.js
│   ├── EditButton.html
│   ├── EditButton.js
│   ├── ListButton.html
│   ├── ListButton.js
│   ├── ShowButton.html
│   └── ShowButton.js
├── column
│   ├── BooleanColumn.html
│   ├── BooleanColumn.js
│   ├── ChoiceColumn.html
│   ├── ChoiceColumn.js
│   ├── ChoicesColumn.html
│   ├── ChoicesColumn.js
│   ├── DateColumn.html
│   ├── DateColumn.js
│   ├── EmailColumn.html
│   ├── EmailColumn.js
│   ├── NumberColumn.html
│   ├── NumberColumn.js
│   ├── PasswordColumn.html
│   ├── PasswordColumn.js
│   ├── ReferenceColumn.html
│   ├── ReferenceColumn.js
│   ├── ReferenceManyColumn.html
│   ├── ReferenceManyColumn.js
│   ├── StringColumn.html
│   ├── StringColumn.js
│   ├── TemplateColumn.html
│   ├── TemplateColumn.js
│   ├── TextColumn.html
│   ├── TextColumn.js
│   ├── WysiwygColumn.html
│   └── WysiwygColumn.js
├── delete
│   ├── DeleteController.js
│   └── delete.html
├── field
│   ├── BooleanField.html
│   ├── BooleanField.js
│   ├── ChoiceField.html
│   ├── ChoiceField.js
│   ├── ChoicesField.html
│   ├── ChoicesField.js
│   ├── DateField.html
│   ├── DateField.js
│   ├── EmailField.html
│   ├── EmailField.js
│   ├── NumberField.html
│   ├── NumberField.js
│   ├── PasswordField.html
│   ├── PasswordField.js
│   ├── ReferenceField.html
│   ├── ReferenceField.js
│   ├── ReferenceManyField.html
│   ├── ReferenceManyField.js
│   ├── StringField.html
│   ├── StringField.js
│   ├── TemplateField.html
│   ├── TemplateField.js
│   ├── TextField.html
│   ├── TextField.js
│   ├── WysiwygField.html
│   └── WysiwygField.js
├── form
│   ├── FormController.js
│   ├── create.html
│   ├── edit-attribute.html
│   └── edit.html
├── list
│   ├── Datagrid.html
│   ├── Datagrid.js
│   ├── DatagridController.js
│   ├── DatagridPagination.html
│   ├── DatagridPagination.js
│   ├── DatagridPaginationController.js
│   ├── ListActions.html
│   ├── ListActions.js
│   ├── ListController.js
│   ├── QuickFilter.html
│   ├── QuickFilter.js
│   ├── QuickFilterController.js
│   └── list.html
├── misc
│   ├── Compile.js
│   ├── ViewActions.js
│   ├── cacheTemplate.js
│   └── view-actions.html
├── repository
│   ├── FormViewRepository.js
│   ├── ListViewRepository.js
│   └── ViewRepository.js
├── routing.js
└── show
    ├── ShowController.js
    └── show.html

9 directories, 94 files
```

Before:

```
> cd src/javascripts/ng-admin/Crud/ && tree
├── CrudModule.js
├── component
│   ├── controller
│   │   ├── DeleteController.js
│   │   ├── FormController.js
│   │   ├── ListController.js
│   │   ├── ShowController.js
│   │   └── directive
│   │       ├── DatagridController.js
│   │       ├── DatagridPaginationController.js
│   │       └── QuickFilterController.js
│   ├── directive
│   │   ├── BackButton.js
│   │   ├── Compile.js
│   │   ├── CreateButton.js
│   │   ├── Datagrid.js
│   │   ├── DatagridPagination.js
│   │   ├── DeleteButton.js
│   │   ├── EditButton.js
│   │   ├── ListActions.js
│   │   ├── ListButton.js
│   │   ├── QuickFilter.js
│   │   ├── ShowButton.js
│   │   ├── ViewActions.js
│   │   ├── column
│   │   │   ├── BooleanColumn.js
│   │   │   ├── ChoiceColumn.js
│   │   │   ├── ChoicesColumn.js
│   │   │   ├── DateColumn.js
│   │   │   ├── EmailColumn.js
│   │   │   ├── NumberColumn.js
│   │   │   ├── PasswordColumn.js
│   │   │   ├── ReferenceColumn.js
│   │   │   ├── ReferenceManyColumn.js
│   │   │   ├── StringColumn.js
│   │   │   ├── TemplateColumn.js
│   │   │   ├── TextColumn.js
│   │   │   └── WysiwygColumn.js
│   │   └── field
│   │       ├── BooleanField.js
│   │       ├── ChoiceField.js
│   │       ├── ChoicesField.js
│   │       ├── DateField.js
│   │       ├── EmailField.js
│   │       ├── NumberField.js
│   │       ├── PasswordField.js
│   │       ├── ReferenceField.js
│   │       ├── ReferenceManyField.js
│   │       ├── StringField.js
│   │       ├── TemplateField.js
│   │       ├── TextField.js
│   │       └── WysiwygField.js
│   └── service
│       ├── FormViewRepository.js
│       ├── ListViewRepository.js
│       └── ViewRepository.js
├── config
│   └── routing.js
├── form
├── run
│   └── cacheTemplate.js
└── view
    ├── back-button.html
    ├── column
    │   ├── boolean.html
    │   ├── choice.html
    │   ├── choices.html
    │   ├── date.html
    │   ├── email.html
    │   ├── number.html
    │   ├── password.html
    │   ├── reference.html
    │   ├── referenceMany.html
    │   ├── string.html
    │   ├── template.html
    │   ├── text.html
    │   └── wysiwyg.html
    ├── create-button.html
    ├── create.html
    ├── datagrid-pagination.html
    ├── datagrid.html
    ├── delete-button.html
    ├── delete.html
    ├── edit-attribute.html
    ├── edit-button.html
    ├── edit.html
    ├── field
    │   ├── boolean.html
    │   ├── choice.html
    │   ├── choices.html
    │   ├── date.html
    │   ├── email.html
    │   ├── number.html
    │   ├── password.html
    │   ├── reference.html
    │   ├── referenceMany.html
    │   ├── string.html
    │   ├── template.html
    │   ├── text.html
    │   └── wysiwyg.html
    ├── list-actions.html
    ├── list-button.html
    ├── list.html
    ├── quick-filter.html
    ├── show-button.html
    ├── show.html
    └── view-actions.html

13 directories, 94 files
```