Add progress and loading attributes; includes docs, demo, and test.

Use case looks something like:

```html
<input value='{{val}}'>
<core-ajax auto url='/search/{{val}}' loading='{{loading}}' progress='{{progress}}' response='{{response}}'>
</core-ajax>

<template if='{{loading && !progress.lengthComputable}}'>
  <img src='/img/spinner.gif'>
</template>
<template if='{{loading && progress.lengthComputable}}'>
  <paper-progress min='0' max='{{progress.total}}' value='{{progress.loaded}}'></paper-progress>
</template>

<template if='{{!loading}}'>
  <my-results results='{{response.results}}'></my-results>
</template>
```
The main use case I have for a progress attribute on core-ajax is something like this:

```html
<core-ajax auto url='/data.json' progress='{{progress}}' response='{{response}}'>
</core-ajax>

<!-- Note: paper-progress extends core-range -->
<paper-progress min='0' max='{{progress.total}}' value='{{progress.loaded}}'>
</paper-progress>
```

I could make my own proxy object for progress.total and progress.loaded at the point where I'm using them, but IMO it would be better if code like that just worked.